spring.profiles.active在命令行中无法工作。

14 浏览
0 Comments

spring.profiles.active在命令行中无法工作。

我正在使用spring-boot: 1.2.2\n这是在文档中提供的语法(当我使用命令启动时,会出现Unknown command-line option \'--spring.profiles.active\'.的错误)\n

gradlew bootRun --spring.profiles.active=noAuthentication

\n我尝试过这个,但它不起作用\n

gradlew bootRun -Dspring.profiles.active=noAuthentication

\n我在其他地方找到这个应该起作用,但它不起作用\n

gradlew bootRun -Drun.jvmArguments="-Dspring.profiles.active=noAuthentication"

\n我将以下内容添加到application.properties中,它可以正常工作。\n

spring.profiles.active=noAuthentication

\n如何从命令行传递此参数?

0
0 Comments

spring.profiles.active is not working from the command line的问题出现的原因是在运行时,无法通过命令行参数来设置spring.profiles.active属性。解决方法是通过gradle的项目配置来设置这个属性。

具体的解决方法如下:

1. 在项目的build.gradle文件中添加以下代码:

project.gradle.projectsEvaluated {
    applicationDefaultJvmArgs = ["-Dspring.profiles.active=${project.gradle.startParameter.systemPropertiesArgs['spring.profiles.active']}"]
}

这段代码的作用是在项目的构建过程中,设置应用程序的默认JVM参数,其中的${project.gradle.startParameter.systemPropertiesArgs['spring.profiles.active']}部分会获取命令行参数中名为spring.profiles.active的值,并将其赋值给spring.profiles.active属性。

2. 在命令行中运行以下命令:

gradlew bootRun -Dspring.profiles.active=prod

这个命令会启动应用程序,并通过-Dspring.profiles.active=prod参数设置spring.profiles.active属性的值为prod。

通过以上步骤,就可以解决spring.profiles.active is not working from the command line的问题。这样就可以在命令行中通过-Dspring.profiles.active参数来设置spring.profiles.active属性的值了。

0