我有一些奇怪的问题。我可以访问我的资源文件:
File xmlFile = new File(getClass().getResource(xmlPath).getPath());
其中xmlPath是“/ META-INF/file.xml”。
当我从Eclipse运行时,一切正常。不幸的是,当我将所有内容打包到jnlp文件时,使用我的web应用程序上传到tomcat(从我下载所有jar的jnlp)它就会停止工作。
当我运行我的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副本中访问我的文件,该文件位于resources / META-INF文件夹中?现在看来,就像Java尝试访问服务器端的jar一样 - 没有这个本地,由jnlp下载。
有什么想法吗?
答案 0 :(得分:0)
packed
文件中的所有文件都是jnlp
。移植包时,它们不会作为文件系统上的单个文件存在。
尽管如此,它们可以在classpath
上找到。您可以使用相应的content
。
classloader
getClass().getClassLoader().getResourceAsStream(...)
This可以帮助您