Java JAR清单类路径,使用文件夹而不是JAR
我有以下目录结构Java JAR清单类路径,使用文件夹而不是JAR,java,jar,resources,classpath,classloader,Java,Jar,Resources,Classpath,Classloader,我有以下目录结构 --conf | | | --foo.properties | --lib | --application.jar 在我的application.jar的MANIFEST.mf文件中,我有以下条目:类路径:../conf/ 在jar内部的类(由jar的主方法调用)中,我尝试使用以下代码将foo.properties文件作为类路径资源加载 URL properties = this.getClass().getClassLoader().getResourc
--conf
| |
| --foo.properties
|
--lib
|
--application.jar
在我的application.jar的MANIFEST.mf
文件中,我有以下条目:类路径:../conf/
在jar内部的类(由jar的主方法调用)中,我尝试使用以下代码将foo.properties文件作为类路径资源加载
URL properties = this.getClass().getClassLoader().getResource("foo.properties");
但是,无法从类路径中找到资源。为什么类路径属性在jar清单中不起作用?我是否误解了它对应用程序类加载器类路径的影响
我正在使用以下命令运行应用程序
java-jar应用程序.jar
它应该可以工作。不确定您的MANIFEST.mf
格式是否正确。我用Maven生成了我的,它可以工作。这就是我的MANIFEST.mf
的样子
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: john.doe
Class-Path: ../conf/
Created-By: Apache Maven 3.3.9
Build-Jdk: 1.8.0_92
Main-Class: com.basaki.misc.clazzpath.FindResource
你可以找到一个完整的例子