JAVA jar文件执行错误

时间:2015-12-17 02:39:04

标签: java

当我尝试将我的jar文件转换为exe文件时,当我运行它时出现错误。我在Eclipse中运行时的java文件效果很好。

启动应用程序时出错:

我已经使用了exe4j和Launch4j。

exe4j给出了这个错误:

java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)
at EasyExpress.<init>(EasyExpress.java:61)
at EasyExpress.main(EasyExpress.java:162)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
at com.exe4j.runtime.WinLauncher.main(Unknown Source)

2 个答案:

答案 0 :(得分:1)

直接原因很可能是您使用Class.getResource(或类似)从应用程序资源集合中获取映像。如果失败,则返回null。然后,您已将null传递给ImageIO.read。因此,你看到的例外。

问题可能是以下之一:

  • 资源不在(终极)可执行文件中或可用。
  • 资源在那里,但您的应用程序使用了错误的路径。

这就是我要做的事。

  1. 使用Eclipse为应用程序生成可执行JAR。
  2. 在Eclipse(!)之外运行那个JAR ......看看你是否遇到同样的问题。
  3. 如果是,则在可执行JAR的上下文中解决问题。它会更容易,并且您很可能也会为生成的exe文件解决问题。
  4. 如果不是,请调查exe4j工具如何处理资源和资源加载。 (我对exe4j documentation的简要介绍没有强调任何明显的问题......)

答案 1 :(得分:0)

如果您只想在eclipse之外运行它,那么您可以创建一个JAR文件。在eclipse中单击文件&gt;导出JAR&gt;选择Java JAR文件&gt;选择项目&gt;选择要保存的目的地。完成