我有一个带有 main-class 的 jar,可以像这样执行:java -jar test.jar
在罐子里我有类似的东西
public static void main(String[] args) throws IOException {
InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("config.properties");
Properties prop = new Properties();
prop.load(is);
//then I wanna fetch all the properties in the config.properties file
}
我同时运行:
java -jar test.jar
java -jar test.jar -cp /tmp(config.properties 所在的位置)
java -jar test.jar -cp /tmp/config.properties (显然它不起作用,但让你知道我想在这里实现什么)
代码不起作用,尽管我将 config.properties 文件的路径放在我的 $PATH 和 $CLASSPATH 下,但所有三个都抛出 NPE。
关键是,从长远来看,我会将配置文件放在 ${my-config-path} 中,并正确读取/处理它。但暂时我只想要一些快速而肮脏的东西。
- 我不想在我的 jar 中包含属性文件。
- 我想将它保存在外部类路径或路径中,当我执行 jar 时,它会毫无问题地找到它。