在 Maven 中设置环境变量

Posted

技术标签:

【中文标题】在 Maven 中设置环境变量【英文标题】:Set enviromment variable in Maven 【发布时间】:2017-01-01 03:36:20 【问题描述】:

我有一个带有以下 application.properties 设置的 Spring Boot 应用程序。

#...
spring.datasource.url=$JDBC_DATABASE_URL

当我使用像 IntelliJ 这样的 IDE 时,我可以设置环境变量,并且在我启动应用程序时它会启动。

但现在我想使用 maven mvn spring-boot:run 在控制台上启动我的应用程序。这里如何设置环境变量?

【问题讨论】:

【参考方案1】:

从 spring-boot 版本 2 argline 键 run.jvmArguments 替换为 spring-boot.run.jvmArguments: https://docs.spring.io/spring-boot/docs/current/maven-plugin/reference/htmlsingle/#run-example-debug 。所以正确的命令是:

mvn spring-boot:run -Dspring-boot.run.jvmArguments="-DJDBC_DATABASE_URL=jdbc:..."

【讨论】:

【参考方案2】:

要将 JVM 参数传递给 spring 应用程序,请使用:

mvn spring-boot:run -Drun.jvmArguments="-Dspring.datasource.url=jdbc:postgresql://l‌​ocalhost/mydb?us‌​er=postgres&password‌​=postgres"

mvn spring-boot:run -Drun.jvmArguments="-DJDBC_DATABASE_URL=jdbc:postgresql://l‌​ocalhost/mydb?us‌​er=postgres&password‌​=postgres"

见http://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/run-debug.html

【讨论】:

【参考方案3】:

试试这个

mvn spring-boot:run -DvariableName=variableValue

通过控制台将变量传递到应用程序

【讨论】:

这边? mvn spring-boot:run -DvariableName=JDBC_DATABASE_URL=jdbc:postgresql://localhost/mydb?user=postgres&password=postgres 它不工作...

以上是关于在 Maven 中设置环境变量的主要内容,如果未能解决你的问题,请参考以下文章

如何获取/获取 Jenkins 管道中设置的环境变量到我们的 maven pom.xml

如何在 Netbeans 中设置环境变量?

在tomcat7 maven插件中设置ENV变量

从库 C++ 中设置环境变量

怎样在Ubuntu中设置环境变量

如何在生产环境中设置 ASP.NET 5 环境变量