向 Spring 启动应用程序添加其他参数
Add additional parameters to Spring Boot app
我想知道是否可以将 spring 的附加参数(例如 -Dspring.profiles.active=prod
添加到 spring 引导应用程序,以防 运行 作为 service.
我查看了spring-boot-maven-plugin
自动生成的脚本:
command="$javaexe -jar -Dsun.misc.URLClassPath.disableJarChecking=true $jarfile $@"
所以也许它可以通过 maven 插件的选项来完成,但除了 JVM 参数之外找不到任何东西,这不是很有用...
我找不到任何解决方案,包括我所描述的问题 - 插件的附加参数似乎也不起作用。
最后我用systemd service approach解决了。
看起来像那样并且完美运行:
[Unit]
Description=Some app
After=syslog.target
[Service]
ExecStart=java -Dspring.profiles.active=production -jar /home/apps/monitoring-app-1.0.0.jar
[Install]
WantedBy=multi-user.target
例如,您可以使用外部配置文件。
根据文档,如果您在执行的 jar 旁边的 ./config
目录中提供 application.properties
文件,您可以通过该属性文件设置活动配置文件。
只需在./config/application.properties
中使用spring.profiles.active=myprofile
http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
在与可执行 jar 同名的同一目录中创建一个 .conf 文件,例如
server-1.0-SNAPSHOT.jar server-1.0-SNAPSHOT.conf
JAVA_OPTS="-Xmx500m \
-Dspring.profiles.active=myprofile"
我想知道是否可以将 spring 的附加参数(例如 -Dspring.profiles.active=prod
添加到 spring 引导应用程序,以防 运行 作为 service.
我查看了spring-boot-maven-plugin
自动生成的脚本:
command="$javaexe -jar -Dsun.misc.URLClassPath.disableJarChecking=true $jarfile $@"
所以也许它可以通过 maven 插件的选项来完成,但除了 JVM 参数之外找不到任何东西,这不是很有用...
我找不到任何解决方案,包括我所描述的问题 - 插件的附加参数似乎也不起作用。
最后我用systemd service approach解决了。
看起来像那样并且完美运行:
[Unit]
Description=Some app
After=syslog.target
[Service]
ExecStart=java -Dspring.profiles.active=production -jar /home/apps/monitoring-app-1.0.0.jar
[Install]
WantedBy=multi-user.target
例如,您可以使用外部配置文件。
根据文档,如果您在执行的 jar 旁边的 ./config
目录中提供 application.properties
文件,您可以通过该属性文件设置活动配置文件。
只需在./config/application.properties
spring.profiles.active=myprofile
http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
在与可执行 jar 同名的同一目录中创建一个 .conf 文件,例如
server-1.0-SNAPSHOT.jar server-1.0-SNAPSHOT.conf
JAVA_OPTS="-Xmx500m \
-Dspring.profiles.active=myprofile"