7

我有一个getClass().getClassLoader().getResource()用于获取目录 URL 的程序,它在 eclipse 中工作正常,但在 jared 之后,它返回 null。

根据这个网址: http: //www.coderanch.com/t/385935/java/java/getResource-path-fails-Jar

导致问题的原因是 jar 中不存在路径本身。具有路径的文件存在,但路径本身不存在。我在 Eclipse 中使用“可运行的 JAR 文件”导出命令。当我尝试使用较旧的导出“Jar File”来创建 jar 时,我注意到“添加目录条目”的复选框,这就是解决方案。Jar 文件本身需要 jar 中的目录条目,以便 getResource() 返回路径的 URL。

但是在maven中,我在打包时找不到这样的命令来“添加目录条目”,有人可以给我一个提示吗?非常感谢 !

环境:eclipse 3.5,m2eclipse,maven 2.2.1

4

3 回答 3

0

如果您使用标准的 maven 2 配置,则目录和文件将放在 src/main/resources 下。如果它们在其他地方,您必须定义您的资源在哪里。

<build>
   <resources>
      <resource>
         <directory>path to my resources</directory>
      </resource>
   </resources>
于 2010-06-24T17:54:48.377 回答
0

您需要包含一个程序集描述符并创建您的目录。

于 2010-07-01T20:06:16.490 回答
0

程序集描述符将帮助您解决此问题。使用此链接http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html阅读程序集插件。如果您仍然无法使其正常工作,请告诉我。

于 2010-07-12T15:28:53.807 回答