运行jar时配置服务器端口

T c*_*ode 17 java spring server-configuration jar spring-mvc

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

例如:

  • java -jar myApplication.jar --port=8888:这使用端口运行我的Spring启动应用程序 8888
  • java -jar myApplication.jar:由于没有端口号作为参数传递,弹出启动应用程序应该在默认端口号上运行(比方说8080)

谁能帮我这个 ?

Mic*_*ael 31

Spring启动文档中,命令行是:

java -Dserver.port=8888 -jar myApplication.jar
Run Code Online (Sandbox Code Playgroud)

你也可以使用Spring引导配置文件中描述的文档.


kri*_*sad 9

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

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

java -Dserver.port=8888 -jar target/my-application-jar-path.jar
Run Code Online (Sandbox Code Playgroud)

上面的命令将在端口8888上运行 JVM ,但下面的命令

java -jar target/my-application-jar-path.jar -Dserver.port=8888
Run Code Online (Sandbox Code Playgroud)

将在端口8080上运行,它将忽略 -jar 之后的 JVM 参数

spring-boot 应用程序的最佳实践是将文件设置server.portapplication.properties

server.port=9090
Run Code Online (Sandbox Code Playgroud)

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