我尝试在/lib中打开jar中的文件
Thread.currentThread().getContextClassLoader();
URL url=classLoader.getResource(myconfig);在调试器中,我可以看到:
jar:file:/C:/apache-tomcat/webapps/mywebapp/WEB-INF/lib/myjarresource.jar!
/conf/configuration.xml为什么在文件路径中是"!“?由于这个原因,我认为应用程序不能打开这个文件。如何接收正确的路径?谢谢。
发布于 2012-03-02 09:06:57
这意味着!在JAR文件中之后会发生什么。
在myjarresource.jar!/conf/configuration.xml的情况下,使用压缩实用程序(如7-zip )打开myjarresource.jar,您将看到它包含conf/configuration.xml。
发布于 2012-03-02 09:21:24
在JarURLConnection javadoc中,JAR URL的语法描述如下:
JAR URL的语法是: jar:!/{entry}
所以“!”指示您“输入”java存档。
编辑:我认为您不能执行File file=new File(url.toURI()),因为":“在生成的URI中出现了两次,并且不符合URI规范(第2.2章和第3章),因此在File中被拒绝。
https://stackoverflow.com/questions/9530549
复制相似问题