我正在尝试访问我的java应用程序中的MANIFEST.MF文件。
我正在做以下
//prints /usr/local/apache-tomcat-8.0.9/webapps/MyProject/WEB-INF/lib/activation-1.1.jar!/META-INF/MANIFEST.MF
System.out.println( "We are looking at "+this.getClass().getClassLoader()
.getResource("META-INF/MANIFEST.MF"));`
//Im looking to print /usr/local/apache-tomcat-8.0.9/webapps/MyProject/META-INF/MANIFEST.MF
//prints-/usr/local/apache-tomcat-8.0.9/lib/
System.out.println("The base path is"+this.getClass().getClassLoader()
.getResource("."));
这是目录结构
MyProject
-src/main/java/my/packages/MyClass.java
-target
-MyProject.war
关于如何纠正我的代码的任何想法都会很棒。
我的战争的目录结构
Myproject
META-INF apidocs other folders
WEB-INF
答案 0 :(得分:0)
您需要使用ServletContext.getResourceAsStream
我发现类加载器方法对于Web应用程序上的MANIFEST文件不可靠。
如果您的清单是由构建过程生成的,那么如果您从maven或eclipse wtp运行应用程序,它将无法可靠地运行。
问题的真实副本:How do I read the manifest file for a webapp running in apache tomcat?