运行jar时配置服务器端口
Configure server port when running jar
我目前正在使用 Gradle 在 Java 8 中编写 Spring 启动应用程序。
我正在寻找的是在从命令行 运行 连接 Jar 时将服务器端口作为参数传递。
例如:
java -jar myApplication.jar --port=8888
:这 运行 是我的 Spring 使用端口 8888
的启动应用程序
java -jar myApplication.jar
:由于没有端口号作为参数传递,spring 引导应用程序应该 运行 在默认端口号上(比方说 8080
)
谁能帮我解决这个问题?
从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)
我目前正在使用 Gradle 在 Java 8 中编写 Spring 启动应用程序。 我正在寻找的是在从命令行 运行 连接 Jar 时将服务器端口作为参数传递。
例如:
java -jar myApplication.jar --port=8888
:这 运行 是我的 Spring 使用端口8888
的启动应用程序
java -jar myApplication.jar
:由于没有端口号作为参数传递,spring 引导应用程序应该 运行 在默认端口号上(比方说8080
)
谁能帮我解决这个问题?
从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)