0

我有一些奇怪的问题。我可以像这样访问我的资源文件:

File xmlFile = new File(getClass().getResource(xmlPath).getPath());

其中 xmlPath 是“/META-INF/file.xml”。

当我从 Eclipse 运行时,一切正常。不幸的是,当我将所有内容打包到 jnlp 文件时,使用我的 web 应用程序在 tomcat 上上传(我从 jnlp 下载所有 jar 的地方)它停止工作。

当我运行我的 jnlp 时,它会按原样下载所有 jar 并且无法启动。抛出此异常:

java.io.FileNotFoundException: C:\Users\A050868\Desktop\http:\address:port\webapp\downloads\lib\package.jar!\META-INF\componentContext.xml (The filename, directory name, or volume label syntax is incorrect)

如何在缓存的语言环境 jar 副本中访问资源/META-INF 文件夹中的文件?现在看来,像Java一样尝试访问服务器端的jar - 没有这个本地的,由jnlp下载。

有任何想法吗?

4

1 回答 1

0

所有文件都packed在您的jnlp文件中。当您移植软件包时,它们不会作为文件系统上的单个文件存在。

也就是说,它们在classpath. 您可以content使用适当的classloader.

getClass().getClassLoader().getResourceAsStream(...)

可能会帮助你

于 2013-08-07T09:33:41.063 回答