【发布时间】:2016-04-03 16:35:12
【问题描述】:
我的应用程序被打包成一个 jar 文件并使用常规的“java -jar ...”命令运行。
我在目录中有一个属性文件“myApp.properties”:/opt/myuser/resources
我想将 /opt/myuser/resources 目录添加到类路径中。我相信这是有利的,因为当属性文件位于类路径上时,我可以在我的源代码中访问属性文件,而无需指定属性文件的完整路径 (/opt/myuser/resources/myApp.properties)。这样,我可以将具有特定环境属性的属性文件与我的应用程序分开。
我尝试使用 Oracle 的指令(http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/classpath.html 在“使用 JDK 工具的 -classpath 选项”下)设置类路径,如下所示:
java -cp .:/opt/myuser/resources -jar myApp.jar
但我收到一个错误,即无法打开属性文件 myApp.properties(在源代码中引用):
Caused by: java.io.FileNotFoundException: class path resource [myApp.properties] cannot be opened because it does not exist
我是不是走错了路?我应该以其他方式编辑类路径吗?
【问题讨论】:
-
"当你使用这个选项 [NDLR:
-jar] 时,JAR 文件是所有用户类的来源,其他用户类路径设置被忽略。" (source)
标签: java linux intellij-idea classpath properties-file