我正在尝试将eclipse中的java项目导出为可运行的jar,但由于某种原因,runnable jar无效。如果我双击可执行jar,它什么都不做。我尝试了将所需的提取和包装到生成的jar中。
所以我也试图导出一些更简单的项目,那些工作正常。最大的区别是我的真实项目有文件:images和xml文件。
在代码中引用它们是这样的:
File file = new File("Recources/test.xml");
ImageIcon imageIcon = new ImageIcon("Recources/" + num + ".gif");
项目结构如下:
但在可执行文件jar中,它们看起来像这样:
感谢您的帮助。
编辑: 我已经尝试了'java -jar filename.jar',但现在它说它无法找到我的资源文件夹,而在eclipse中它仍然可以找到它。
答案 0 :(得分:1)
JAR文件中的文件不仅仅是存储在硬盘中的文件。如果您在JAR中包含文件,它们将被视为字节流。因此,您必须使用不同的方法来访问这些资源。
$("select").change(function()
{
if($(this).val() == "0")
$(this).after(' <small> please select the correct value</Small>');
else
if($(this).next().prop("tagName").toLowerCase() == "small")
$(this).next().remove();
});
$("select").trigger("change");
“/”不是文件系统的根文件夹,而是JAR中资源的根文件夹。
答案 1 :(得分:0)
问题可能是Java不是运行jar的默认程序。
尝试right click -> Open with
,然后选择Java Runtime,它应该成功运行。
将其设为启用双击运行的默认程序。
Right click -> Properties -> Change -> C:\Program Files\Java\jre7\bin\javaw.exe
受到stratwine在https://stackoverflow.com/a/8511277
的回答的启发答案 2 :(得分:0)
谢谢大家,但似乎问题不在于出口。我用cmd打开程序时遇到错误,我使用文件名打开xml和图像,而我应该使用inputStreams:https://docs.oracle.com/javase/tutorial/networking/urls/readingURL.html。