运行jar时配置服务器端口

时间:2017-01-17 10:13:58

标签: java spring spring-mvc jar server-configuration

我目前正在使用Gradle编写一个用Java 8编写的Spring Boot应用程序。 我正在寻找的是从命令行运行Jar时作为参数传递服务器端口。

例如:

  • java -jar myApplication.jar --port=8888:这使用端口8888
  • 运行我的Spring启动应用程序
  • java -jar myApplication.jar:由于没有传递端口号作为参数,因此spring boot应用程序应该在默认端口号上运行(假设为8080

任何人都可以帮我吗?

2 个答案:

答案 0 :(得分:26)

Spring boot documentation开始,命令行为:

java -Dserver.port=8888 -jar myApplication.jar

您还可以使用documentation

中所述的Spring启动配置文件

答案 1 :(得分:1)

原因始终在-D<key>=<value>参数之前传递-jar JVM参数,否则它将不接受您的参数,然后它将与默认值。例如:

在特定端口上执行jar的正确Java命令是:

java -Dserver.port=8888 -jar target/my-application-jar-path.jar

以上命令将在端口 8888 上但在命令

下运行JVM
java -jar target/my-application-jar-path.jar -Dserver.port=8888

将在端口 8080 上运行,它将在-jar

忽略JVM参数。

spring-boot应用程序中的最佳实践是将server.port设置为application.properties文件为:

server.port=9090

或在具有特定 ENVIROMENT 的特定application-<ENV>.properties文件上。