【问题标题】:Jar not finding resources罐子找不到资源
【发布时间】:2014-05-14 18:10:51
【问题描述】:

我正在开发一个项目,通过我的 IDE 编译和运行工作正常。找到所有资源并且它可以正常工作。但是,当我构建我的 .jar 时,它能够找到一些资源,但不是全部。我的项目结构如下:

src
    res
        image.png
        image1.png
        about.html
    tmp
        somefilehere.txt
    myFile.java

当我运行我的 jar 文件时,它能够找到图像并使用它们,但是当我尝试访问 html 文件时它不会打开。这是 jar 的项目结构;

我以前没有弄乱过 jar 文件,所以这似乎是我犯的非常明显的错误。感谢任何帮助!

编辑:访问未找到文件的代码,

private void openURL(String url) {
    try {
        Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);
    }
    ...catch exceptions...
 }

编辑:jar 文件的结构看起来像,

META-INF
res
    image.png
    image1.png
    about.html
tmp
    somefile.txt
myclass.class

【问题讨论】:

  • 这个问题的答案取决于你如何构建你的 jar。你能提供细节吗?有些人用 maven 做,有些人用手工做,有些人用 ant 或脚本。你可以把几乎任何东西放在一个 JAR 中。但是,您正在构建它不包括这些资源,但是如果您不发布您的操作方式,我们无法告诉您原因。
  • 我们还需要查看您的代码和任何错误消息。您是否尝试使用File?
  • 我实际上不确定...我使用的是 IntelliJ 13,我刚刚进入了人工制品,在其中添加了一个 jar 文件,然后在那里构建它。
  • @chrylis 没有错误消息,我将使用访问文件的代码更新 OP。
  • url的值是多少?是直接引用文件系统吗?

标签: java jar


【解决方案1】:

首先确保您拥有项目文件夹中的所有资源。在构建 jar 时,您需要附加工作目录。确保该目录包含资源。我在 netbeans 和 jar 中尝试过它可以正常显示图像。我通常做什么...我选择 src 文件夹作为工作项目文件夹,该文件夹包含图像的 res 文件夹。试试看。我希望它会有所帮助。

【讨论】:

  • 刚试了没用,会用jar文件的结构编辑OP。
猜你喜欢
  • 1970-01-01
  • 2014-03-17
  • 1970-01-01
  • 1970-01-01
  • 2015-01-28
  • 2015-05-03
  • 2013-01-03
  • 2014-03-20
  • 2015-04-13
相关资源
最近更新 更多