She*_*jie 3 java jar properties
我有一个带有main类的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
}
Run Code Online (Sandbox Code Playgroud)
我同时运行:
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所有classpath选项,就会被忽略.
而是指定默认配置位置(如在用户的主目录中)并允许在命令行上覆盖.
有各种命令行解析选项,最简单的带有选项信息的annotate类属性,例如,长和短选项名称,用法等.
或使用-D选项并检索适当的系统属性.
另一种选择是PreferencesAPI.
| 归档时间: |
|
| 查看次数: |
9363 次 |
| 最近记录: |