运行jar时配置服务器端口

Configure server port when running jar

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

例如:

谁能帮我解决这个问题?

Spring boot documentation开始,命令行是:

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

您还可以使用 Spring 引导配置文件,如 documentation 中所述。

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

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

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

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

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 文件上

对于Spring引导使用:

 java -jar app.jar --server.port=9000

(摘自 Spring 文档中的 2.1. Accessing Command Line Properties