在运行时通过 java 中的命令提示符加载配置文件(project.properties)
Posted
技术标签:
【中文标题】在运行时通过 java 中的命令提示符加载配置文件(project.properties)【英文标题】:load config file (project.properties) at runtime via command prompt in java 【发布时间】:2014-05-15 04:09:48 【问题描述】:我想在 java 中通过命令提示符加载属性文件。
属性文件名:project.properties
java -classpath .;test.jar; com.project.Main
如果我通过命令提示符加载属性文件,命令是什么。
提前致谢。
我已经在命令提示符下执行了下面提到的命令,但没有得到任何输出。
java -classpath .;test.jar; -DPROP_FILE="C:\Program Files\DemoApp\config\project.properties" com.project.Main
【问题讨论】:
【参考方案1】:发送文件路径如下格式,
java -classpath .;test.jar; -DPROP_FILE=conf\project.properties com.project.Main
使用以下代码获取属性文件
String propFile = System.getProperty("PROP_FILE");
Properties props = new Properties();
props.load(new FileInputStream(propFile));
谢谢。
【讨论】:
我执行了下面提到的命令,但无法读取该文件。 java -classpath .;test.jar; -DPROP_FILE="C:\Program Files\DemoApp\config\project.properties" com.project.Main 应该可以正常工作。请在此处发布您的 java 代码。【参考方案2】:运行java -classpath .;test.jar; com.project.Main project.properties
,然后在你的main方法中读取这个参数并加载文件。
public static void main(String[] args)
String fileName = args[0];
Properties prop = new Properties();
InputStream in = getClass().getResourceAsStream(fileName);
prop.load(in);
【讨论】:
【参考方案3】:java -classpath c:\java Client test.properties
"c:\java" 是类路径 - 更改为您的 java 类路径
【讨论】:
【参考方案4】:在您的代码中将其加载为java.util.ResourceBundle
:
ResourceBundle properties = ResourceBundle.getBundle("project");
您可以通过ResourceBundle API 访问属性。
启动应用时将属性文件放在类路径中:
java -classpath .;test.jar;project.properties com.project.Main
【讨论】:
以上是关于在运行时通过 java 中的命令提示符加载配置文件(project.properties)的主要内容,如果未能解决你的问题,请参考以下文章
使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题分析
java程序运行时提示 错误:找不到或无法加载主类 com.sun.tools.javac.main
Java导入package编译后运行时提示无法加载主类的解决办法