2017-10-20 215 views
0

文件夾中,我有以下目錄結構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

回答

1

它應該運行的應用程序。不知道,您的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