JAR清单类路径,而不是使用的jar
问题描述:
文件夹中,我有以下目录结构JAR清单类路径,而不是使用的jar
--conf
| |
| --foo.properties
|
--lib
|
--application.jar
在我application.jar的MANIFEST.mf
文件我有以下的条目:Class-Path: ../conf/
在罐子里面的类(由广口瓶的主要方法称为)我尝试加载foo.properties文件作为类路径资源使用以下代码
URL properties = this.getClass().getClassLoader().getResource("foo.properties");
但是,无法从类路径中找到该资源。为什么Class-Path属性不能在jar清单中工作?我误解了它是如何影响应用程序类加载器类路径的?
我用下面的命令
java -jar application.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
你可以找到一个完整的例子here。