繁体   English   中英

如何从groovy(gradle)内部将vm参数设置为Tomcat?

[英]How to set vm arguments from inside of groovy (gradle) to Tomcat?

我想从gradle设置vm参数:

例如,要启动Java应用程序,请执行以下操作:

-Dspring.profiles.active=dev

我想做同样的事情,但不是从命令行

我尝试了不同的变体,但它不起作用:

System.properties['spring.profiles.active'] = "dev"
System.setProperty('spring.profiles.active',"dev")

如何设置System.properties窗体Gradle? 我需要在tomcat上以.war文件运行spring app,但无法将其作为系统变量传递

我需要它是因为https://docs.spring.io/spring-boot/docs/current/reference/html/howto-properties-and-configuration.html

69.6设置活动的弹簧轮廓

Spring Environment为此提供了一个API,但是通常您会设置一个System属性(spring.profiles.active)或一个OS环境变量(SPRING_PROFILES_ACTIVE)。 例如,使用-D参数启动您的应用程序(切记将其放在主类或jar存档之前):

$ java -jar -Dspring.profiles.active =生产演示-0.0.1-SNAPSHOT.jar

在Spring Boot中,您还可以在application.properties中设置活动配置文件,例如

spring.profiles.active =生产

这样设置的值将由System属性或环境变量设置代替,而不由SpringApplicationBuilder.profiles()方法代替。 因此,后者的Java API可用于在不更改默认值的情况下扩充配置文件。

这有效:

bootRun {
    systemProperty 'spring.profiles.active', 'dev'
}

我在这里找到答案: https : //github.com/spring-projects/spring-boot/pull/592

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM