如何使用Gradle更改Spring Boot应用程序的端口?

Moe*_*Pad 2 port gradle spring-boot

一个简单的问题是:如何使用gradle更改Spring Boot应用程序端口?


如果您不使用gradle,这里已经列出了许多正确答案。因此,如果没有任何问题,请参阅此帖子。

Md.*_*sen 7

通过 Gradle 运行:

  • 在默认端口(8080)运行: ./gradlew bootRun
  • 在提供的端口(8888)中运行: ./gradlew bootRun --args='--server.port=8888'
  • application.properties如果名为 的文件中有任何变量PORT,请运行以下命令:PORT=8888 ./gradlew bootRun

通过 Maven 运行:

  • 在默认端口(8080)运行: mvnw spring-boot:run
  • 在提供的端口(8888)中运行: mvnw spring-boot:run -Dspring-boot.run.jvmArguments='-Dserver.port=8085'
  • 在提供的端口(8888)中运行: mvn spring-boot:run -Dspring-boot.run.arguments='--server.port=8085'
  • 使用其他自定义属性在提供的端口(8888)中运行: 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

  • 创建 .jar 文件:
    • 对于 Gradle:./gradlew clean build. 我们将在:文件夹中找到 jar 文件build/libs/
    • 对于 Maven mvn clean install:. 我们将在:文件夹中找到 jar 文件target
  • 在默认端口(8080)运行: java -jar myApplication. jar
  • 在提供的端口(8888)中运行: java -jar myApplication.jar --port=8888
  • 在提供的端口(8888)中运行: java -jar -Dserver.port=8888 myApplication.jar
  • 在提供的端口(8888)中运行,SERVER_PORT在 application.properties 文件中具有变量: SERVER_PORT=8888 java -jar target/myApplication.jar


Moe*_*Pad 6

如果您尚未使用Spring Boot Gradle插件,请将其添加到构建脚本中(当然,请根据需要调整Spring Boot版本):

buildscript{
    ext { springBootVersion = '1.5.7.RELEASE' }
    dependencies {
          classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}
apply plugin: 'org.springframework.boot'
Run Code Online (Sandbox Code Playgroud)

使用此插件,您可以执行以下操作:

bootRun {
    args += ["--server.port=[PORT]"]
}
Run Code Online (Sandbox Code Playgroud)
  • 显然,用实际端口号替换[PORT]

或为了获得更多动态效果,可以使用项目属性来更改端口。您必须执行类似的操作:

if(!project.hasProperty("port"))
    project.ext.set("port", 8080)

bootRun {
    args += ["--server.port=${project.port}"]
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用

./gradlew bootRun -Pport = 8888

如果在此示例中跳过-Pport,它将使用8080。


Hel*_*ira 6

如果您不想在Gradle脚本中添加额外的配置,可以通过设置SERVER_PORT环境变量来实现:

SERVER_PORT=8888 ./gradlew bootRun
Run Code Online (Sandbox Code Playgroud)