我的应用程序打包到一个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
我是以错误的方式来做这件事的吗?我应该以另一种方式编辑类路径吗?
答案 0 :(得分:0)
希望这会对其他人有所帮助。 我已经用作Spring Boot的程序参数 --spring.config.location =文件:/opt/myuser/resources/myApp.properties
然后它将使用该文件。
答案 1 :(得分:0)
在虚拟机选项/环境变量中传递这个参数
-Dspring.config.location=/deployments/tomcat/instance-conf/myApp.properties
答案 2 :(得分:-1)
使用gerResource解决方案在您的属性对象上加载文件:
ClassLoader.getResourceAsStream ("some/pkg/resource.properties");
Class.getResourceAsStream ("/some/pkg/resource.properties");
ResourceBundle.getBundle ("some.pkg.resource");