application.properties外部jar文件如何
application.properties outside jar file how to
On your application classpath (e.g. inside your jar) you can have an
application.properties that provides a sensible default property value
for name. When running in a new environment, an application.properties
can be provided outside of your jar that overrides the name
我在与 jar 文件相同的路径上放置了一个具有覆盖名称的重复 application.properties,但是当 运行 使用以下命令连接应用程序时:
java -jar target/myproject-0.0.1-SNAPSHOT.jar
名称值没有被覆盖,它仍然指的是jar文件中application.properties里面的那个。我也试过:
java -Dspring.config.location=/target/application.properties -jar target/myproject-0.0.1-SNAPSHOT.jar
但是不行,请帮忙
编辑
当我将当前目录更改为 target
和 运行 时,它起作用了。
java -jar myproject-0.0.1-SNAPSHOT.jar
为什么?为什么不能在路径外运行呢?
您将 config
拼写为 conig
,如果拼写正确,应该可以。
它不起作用,因为您正试图从另一个文件夹启动 jar:spring 启动查找 files/folder 相对于您当前的文件夹。
您可以:
1) 将 application.properties
复制到相对于您当前文件夹的 ./
或 ./config/
中。
2) 或指定 -Dspring.config.location
:
$ java -Dspring.config.location=target/application.properties -jar target/myproject-0.0.1-SNAPSHOT.jar
On your application classpath (e.g. inside your jar) you can have an application.properties that provides a sensible default property value for name. When running in a new environment, an application.properties can be provided outside of your jar that overrides the name
我在与 jar 文件相同的路径上放置了一个具有覆盖名称的重复 application.properties,但是当 运行 使用以下命令连接应用程序时:
java -jar target/myproject-0.0.1-SNAPSHOT.jar
名称值没有被覆盖,它仍然指的是jar文件中application.properties里面的那个。我也试过:
java -Dspring.config.location=/target/application.properties -jar target/myproject-0.0.1-SNAPSHOT.jar
但是不行,请帮忙
编辑
当我将当前目录更改为 target
和 运行 时,它起作用了。
java -jar myproject-0.0.1-SNAPSHOT.jar
为什么?为什么不能在路径外运行呢?
您将 config
拼写为 conig
,如果拼写正确,应该可以。
它不起作用,因为您正试图从另一个文件夹启动 jar:spring 启动查找 files/folder 相对于您当前的文件夹。
您可以:
1) 将 application.properties
复制到相对于您当前文件夹的 ./
或 ./config/
中。
2) 或指定 -Dspring.config.location
:
$ java -Dspring.config.location=target/application.properties -jar target/myproject-0.0.1-SNAPSHOT.jar