【问题标题】:Executing .jar files with a double click双击执行 .jar 文件
【发布时间】:2012-02-25 19:05:57
【问题描述】:

我一直使用 Eclipse 作为我的 Java IDE,今天我遇到了一个有趣的问题。我使用内置文件>导出>可运行的 jar 文件为我的一个程序创建了一个 jar 文件。如果我从命令行/使用批处理文件启动它,它会完美运行,但不会通过双击运行。我绝对确定 .jar 文件与 javaw 相关联,但它仍然无法正常工作。这不是我绝对需要解决的大问题,但如果有人有任何想法,我很乐意听到。

更新:我尝试使用 Aram Kocharyan 的解决方案(请参阅下面的答案)。没有运气。它似乎也只是这个 .jar 文件。双击启动所有其他 jar。重建罐子没有帮助。 :P

【问题讨论】:

  • 双击 jar 会发生什么?当你从命令行运行它时通常会发生什么?

标签: java executable-jar double-click


【解决方案1】:

把它放在一个 .bat 中:

start javaw -classpath "%~dp0YOU-JAR-NAME.jar" -Djava.library.path="native" foo.package.bar.YourClassWithMainMethod

选项-Djava.library.path="native" 不需要运行,我包括这个是因为使用 .bat 而不是双击 .jar 的一个原因是使用 JVM 参数,在我的情况下,我需要这个参数项目运行。

%~dp0 部分获取当前目录

【讨论】:

    【解决方案2】:

    用..javaw打开你的罐子
    在 jre 的 bin 文件夹中...在我的计算机中是 @

    C:\Program Files\Java\jre\bin\javaw.exe
    

    【讨论】:

      【解决方案3】:

      不久前我写了一个简短的指南,您可能会觉得有帮助:

      http://ak.net84.net/projects/how-to-make-a-multi-platform-executable-java-jar-file/

      这将在 windows 中双击而不设置任何其他设置,我已经在 Mac 上使用 Jar Launcher 对其进行了测试,它没有抱怨。

      【讨论】:

      • 这里有一些有趣的东西。我测试了你的指南,至少是后半部分,因为前半部分基本上是我已经完成的。 exej创建的应用程序不会双击运行,但是带有命令java -jar JarFile.jar的批处理文件会。
      • 不走运 :( 我只是不明白。我什至在其他项目中成功使用过这个 GUI。我什至尝试注释掉除了 GUI 初始化和重建之外的所有内容。Eclipse 只是出于某种原因讨厌我的项目。
      • 您是否尝试过创建一个简单的“Hello World”程序并对其进行测试?
      • 是的。我构建的任何其他 jar 文件都可以正常工作。但是重建,甚至转移到一个单独的 Eclipse 项目都行不通
      • 尝试比较.*(例如.settings)或eclipse制作的任何文件与空白项目,看看是否有任何差异。然后制作一个 jar 并在命令行中启动它 - 看看是否出现任何错误。它可能是由于路径等原因而找不到的丢失的类文件。请注意,我需要放在 exe 和 jar 旁边的任何资源。
      猜你喜欢
      • 2014-09-24
      • 2021-12-26
      • 2016-02-19
      • 1970-01-01
      • 2016-05-03
      • 1970-01-01
      • 2013-05-18
      • 2010-09-26
      • 2012-03-04
      相关资源
      最近更新 更多