【问题标题】:Eclipse Java - Program works in eclipse but not as runnable jarEclipse Java - 程序在 Eclipse 中工作,但不能作为可运行的 jar
【发布时间】:2014-03-09 18:12:32
【问题描述】:

我正在尝试将我的程序导出为可运行的 jar。该程序在 Eclipse 中运行良好,但不能作为可运行的 jar 运行。我正在使用 3 个其他 jar 文件作为引用的 jar,所以我可以使用音频,我认为这可能是问题所在。可运行的 jar 启动,但它只是一个全白窗口,并且程序没有启动。

我单击我的项目,然后右键单击并选择“导出”,然后选择“可运行 jar”选项。我尝试使用处理引用库的所有三个选项来创建 jar。

  • 将所需的库提取到生成的 jar 中
  • 将所需的库打包到生成的 jar 中
  • 将所需的库复制到生成的 jar 旁边的子文件夹中

这些选项都不会导致程序正常工作。希望大家能帮帮我!


编辑
是的,有一个错误:

Exception in thread "Thread 2" java.lang.IllegalArgumentException: input == null! 
  at javax.imageio.ImageIO.read 
  at main.BufferedImageLoader.loadImage<BufferedImageLoader.java:36>|
  at main.LoadScreen.<init><LoadScreen.java:38> at main.Engine.run<Engine.java:248> 
  at java.lang.Thread.run 

【问题讨论】:

  • 您能否发布您遇到的错误?
  • 这不是错误。该程序只是一个空白的白色屏幕,它实际上并没有启动。但代码中或启动 jar 时没有错误。
  • 你确定吗?您是否尝试过从命令行运行 jar 以查看是否出现任何错误消息?
  • 哦,很抱歉,有一个错误:线程“线程 2”中的异常 java.lang.IllegalArgumentException:输入 == null!在 javax.imageio.ImageIO.read 在 main.BufferedImageLoader.loadImage<36><38><248>

标签: java eclipse jar libraries


【解决方案1】:

当您需要将图像作为资源获取时,您可以将它们作为文件获取。这是一个常见问题,在此站点上会产生很多类似的问题。获取您的类加载器或类并将其用于getResource(...) 以获取您的图像。

  BufferedImage westImg = ImageIO.read(getClass()
        .getResource("/images/img01.jpg"));

【讨论】:

  • 我想我正在这样做: public BufferedImage loadImage(String path) { try { image = ImageIO.read(getClass().getResourceAsStream(path)); } catch (IOException e) { e.printStackTrace(); } 返回图片; }
  • @Smartypants:那么您的图像是否存在于 jar 文件中?
  • @Smartypants:你改变了什么?
  • 当有人发现自己的错误然后不与他人分享时,我真的很生气......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 2013-06-26
  • 2015-04-11
  • 1970-01-01
相关资源
最近更新 更多