2014-01-31 45 views
0

我有一个具有调用应用程序的Main方法的项目。它捆绑在一个JAR文件中。在JAR文件中找不到属性文件

我尝试使用以下行调用应用程序:

java -jar sample.jar -sample 123 

这sample.jar捆绑在它的config/config.properties。

我有以下代码行来从JAR读取属性文件。

InputStream inputStream = 
    this.getClass().getClassLoader().getResourceAsStream("config/config.properties"); 

OR

InputStream inputStream = 
    this.getClass().getClassLoader().getResourceAsStream("/config/config.properties"); 

此代码无法找到JAR文件的属性文件,虽然这个属性文件已经在JAR存在。

有没有人知道这个解决方案?

+0

请显示'jar tvf sample.jar'的结果 –

+0

750 Thu Jan 30 15:17:58 PST 2014 config/config.properties – user886614

+0

您能发布一个简短但完整的例子来演示这个问题吗?它看起来应该工作...(没有前导斜杠,因为你正在从类加载器中加载它)。 –

回答

1

当我从config文件夹移动config.properties出来,它的正常工作......

我不知道为什么是这样的话。但是,如果我使用下面的代码行它现在工作..

ClassLoader loader = Thread.currentThread()。getContextClassLoader();
InputStream inputStream = loader.getResourceAsStream(“config.properties”);

相关问题