【发布时间】:2010-01-15 16:46:11
【问题描述】:
我们在eclipse中的项目大致显示如下文件夹:
application
- src
- JRE System Library [1.6]
- Referenced Libraries
- lib
- rsc
在我们的项目中,我们想使用 File > Export... > Executable JAR
这很好,但有一些例外:如果我们想运行我们的 application.jar,我们仍然需要将文件夹 rsc/ 复制到 application.jar 所在的位置。
在 rsc/ 中,我们还有其他用于分隔不同部分的文件夹。 基本上,我们使用代码加载片段(稍微改动了一下,但路径样式是正确的)
strUrl = "file:rsc/properties/Constants.properties";
url = new URL(strUrl);
ImageIcon icon = new ImageIcon(url);
我可以右键单击 rsc/ > 构建路径 > 用作源文件夹。
但这也不起作用,因为 eclipse 不会自动将 rsc 文件夹复制到 bin/- 文件夹中。然后我们就不能再从终端运行它了(没有打包成jar)
编辑:为什么 eclipse 不能正确处理这个问题?为什么“嵌套”输出文件夹有问题?在“构建路径”对话框的“源”选项卡中,我可以轻松添加 rsc/-文件夹,并将输出文件夹设置为 bin/rsc/,但它似乎无法放置嵌套文件夹...
编辑 2:现在我已经能够创建一个 xml 文件来使用 ant 构建东西,并且设法将 rsc 文件夹直接包含到 jar 中。由于相同的错误,仍然无法运行。我真的需要检查资源路径是否在 JAR 中吗? JAR 的内容现在如下:
META-INF/
META-INF/MANIFEST.MF
configurator/
controller/
editor/
gui/
logic/
networking/
rsc/
rsc/gamesettings/
rsc/levels/
rsc/pics/
rsc/properties/
util/
但 Java 仍然讨厌我并抛出 java.io.FileNotFoundException: rsc/properties/Constants.properties 并带有大约 100 行的堆栈跟踪。
有人知道怎么做吗?谢谢和问候
【问题讨论】:
标签: eclipse ant executable-jar java-6