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

问题描述 投票:7回答:3

我想知道是否可以将spring的附加参数(如-Dspring.profiles.active=prod)添加到spring引导应用程序,以防将其作为service运行。

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

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

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

spring maven service spring-boot init.d
3个回答
5
投票

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

最后我用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

4
投票

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

根据文档,如果您在执行的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


2
投票

在与可执行jar相同名称的同一目录中创建.conf文件,例如

server-1.0-SNAPSHOT.jar server-1.0-SNAPSHOT.conf

JAVA_OPTS="-Xmx500m \
-Dspring.profiles.active=myprofile"

https://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html#deployment-script-customization-conf-file

© www.soinside.com 2019 - 2024. All rights reserved.