我在使用类路径查找配置文件时遇到了一些麻烦。Java类路径和配置文件
我用:
InputStream stream = myclass.class.getResourceAsStream("properties.file");
的properties.file位于config目录下。
当使用eclipse运行程序时,它可以工作。 我刚刚在启动配置中的类路径中添加了配置文件夹。
但是如果我要运行导出的罐子这样的:
java -jar -cp C:\project\lib;C:\project\config myclass.jar
我得到的哦精彩java.lang.NullPointerException
,因为它无法找到该文件。
这听起来很经典和愚蠢,但我找不到线索。 eclipse做了什么,我不知道?
感谢
是的,这将工作(做这样的事情之前),但后来作为源文件夹,它会被添加到构建路径中,然后打包到jar文件中。因此,如果我想更改属性文件中的参数,我会被删除,因为程序使用了jar中的参数:( – user1228291 2012-02-23 12:26:28
@ user1228291:我猜,在您运行项目时,Eclipse会自动将它添加到您的类路径中,检查你的bin/classes文件夹,无论你的资源中有什么东西,文件夹将被添加到bin/classes文件夹。Ahha,现在我明白了,你是对的,好像是:-)但是提供绝对文件路径也不是一个好主意, 我猜。 – 2012-02-23 12:29:45
试试这个http://stackoverflow.com/a/35058865/1533783 – 2016-01-28 10:45:50