向Spring Boot应用程序添加其他参数

nKo*_*ito 8 service spring init.d maven spring-boot

我想知道是否可以添加spring的附加参数,例如-Dspring.profiles.active=prod弹簧启动应用程序,以防将其作为服务运行.

我检查了自动生成的脚本spring-boot-maven-plugin:

command="$javaexe -jar -Dsun.misc.URLClassPath.disableJarChecking=true $jarfile $@"

也许它可以通过maven插件的选项完成,但除了JVM参数之外找不到任何不太有用的...

nKo*_*ito 5

我找不到任何解决方案,包括我所描述的解决方案-似乎插件的其他参数也不起作用。

最后,我通过使用systemd服务方法解决了该问题。

看起来像那样,完美地工作:

[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
Run Code Online (Sandbox Code Playgroud)


小智 5

例如,您可以使用外部配置文件。

根据文档,如果您在执行的 jar 旁边application.properties./config目录中提供一个文件,您可以通过该属性文件设置活动配置文件。

只需spring.profiles.active=myprofile./config/application.properties

http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-application-property-files

http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html