clu*_*ser 44 java spring spring-boot
我有一个带有默认变量值的application.properties文件.我希望能够在运行时更改其中一个mvn spring-boot:run.我找到了如何更改整个文件,但我只想更改其中一个或两个属性.
And*_*son 62
您可以将各个属性作为命令行参数传递.例如,如果要设置server.port,则可以在启动可执行jar时执行以下操作:
java -jar your-app.jar --server.port=8081
Run Code Online (Sandbox Code Playgroud)
或者,如果您正在使用mvn spring-boot:run:
mvn spring-boot:run -Drun.arguments="--server.port=8081"
Run Code Online (Sandbox Code Playgroud)
您还可以spring-boot:run在应用程序中配置参数,pom.xml这样就不必每次都在命令行中指定它们:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<arguments>
<argument>--server.port=8085</argument>
</arguments>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
dav*_*xxx 16
为了更新一些小东西,Spring Boot 1.X Maven 插件依赖于--Drun.argumentsMaven 用户属性,而 Spring Boot 2.X Maven 插件依赖于-Dspring-boot.run.argumentsMaven 用户属性。
因此,对于 Spring 2,您需要执行以下操作:
mvn spring-boot:run -Dspring-boot.run.arguments="--server.port=8081"
Run Code Online (Sandbox Code Playgroud)
如果您需要传递多个参数,则必须,用作分隔符,并且切勿在参数之间使用空格:
mvn spring-boot:run -Dspring-boot.run.arguments="--server.port=8081,--foo=bar"
Run Code Online (Sandbox Code Playgroud)
关于 Maven 插件配置和从胖 jar 传递参数的方式,它没有改变。
所以非常好的安迪威尔金森答案仍然是正确的。
ikb*_*mad 10
快速更新:
如果您使用的是最新版本的 spring-boot 2.X 和 maven 3.X,以下命令行将覆盖您的服务器端口:
java -jar -Dserver.port=9999 your_jar_file.jar
Run Code Online (Sandbox Code Playgroud)
Sha*_*rup 10
您可以设置环境变量来或覆盖属性。例如,您有一个属性 name test.props=1。如果你有一个环境变量,TEST_PROPSspring boot 会自动覆盖它。
export TEST_PROPS=2
mvn spring-boot:run
Run Code Online (Sandbox Code Playgroud)
您还可以创建一个 json 字符串,其中包含您需要覆盖的所有属性,并使用 传递它-Dspring.application.json或使用 导出 json SPRING_APPLICATION_JSON。
mvn spring-boot:run -Dspring.application.json='{"test.props":"2"}'
Run Code Online (Sandbox Code Playgroud)
或者只是使用 -Dtest.props=2 传递属性
mvn spring-boot:run -Dtest.props=2
Run Code Online (Sandbox Code Playgroud)
2.1.17在 Spring Boot和 Maven上测试3.6.3
小智 7
如果不使用逗号,要在多种模式下覆盖某些自定义属性或 Spring Boot 属性,请使用空格而不是逗号,如下代码所示:
mvn spring-boot:run -Dspring-boot.run.arguments="--server.port=8899 --your.custom.property=custom"
Run Code Online (Sandbox Code Playgroud)
通过 Gradle 运行:
./gradlew bootRun./gradlew bootRun --args='--server.port=8888'application.properties如果名为 的文件中有任何变量PORT,请运行以下命令:PORT=8888 ./gradlew bootRun通过 Maven 运行:
mvnw spring-boot:runmvnw spring-boot:run -Dspring-boot.run.jvmArguments='-Dserver.port=8085'mvn spring-boot:run -Dspring-boot.run.arguments='--server.port=8085'mvn spring-boot:run -Dspring-boot.run.arguments="--server.port=8899 --your.custom.property=custom"application.properties如果名为 的文件中有任何变量PORT,请运行以下命令:SERVER_PORT=9093 mvn spring-boot:run使用java -jar:
./gradlew clean build. 我们将在:文件夹中找到 jar 文件build/libs/。mvn clean install:. 我们将在:文件夹中找到 jar 文件target。java -jar myApplication. jarjava -jar myApplication.jar --port=8888java -jar -Dserver.port=8888 myApplication.jarSERVER_PORT在 application.properties 文件中具有变量: SERVER_PORT=8888 java -jar target/myApplication.jar| 归档时间: |
|
| 查看次数: |
29966 次 |
| 最近记录: |