Java 在不更改代码的情况下更改Spring引导应用程序的端口
我有两个应用程序需要同时运行,它们都试图在端口Java 在不更改代码的情况下更改Spring引导应用程序的端口,java,tomcat,spring-boot,Java,Tomcat,Spring Boot,我有两个应用程序需要同时运行,它们都试图在端口8080上运行。我想将其中一个端口更改为端口9000。我试图更改的应用程序具有spring安全性,因此当使用https时,它在端口8443上运行,当使用http时,它在端口8080上运行。我必须在不更改任何.java文件的情况下将其从端口8080移动。另外,我还需要在端口8080上运行另一个应用程序,因此更改默认的tomcat端口不是一个好主意 我尝试添加到application.properties行server.port=9000,spring.
8080
上运行。我想将其中一个端口更改为端口9000
。我试图更改的应用程序具有spring安全性,因此当使用https
时,它在端口8443
上运行,当使用http
时,它在端口8080
上运行。我必须在不更改任何.java
文件的情况下将其从端口8080
移动。另外,我还需要在端口8080
上运行另一个应用程序,因此更改默认的tomcat端口不是一个好主意
我尝试添加到application.properties
行server.port=9000
,spring.main.server.port=9000
,然后运行mvn安装
,然后运行java-jar目标/app.jar
我还尝试使用不同的标志运行java-jar-target/app.jar
:-Dserver.port=9000
和-server.port=9000
无论如何,我在端口8443(https)8080(http)上启动了-Tomcat
因此,我的问题是:
- 如何使其在与
8080
不同的端口上运行李>
- 还有,是什么导致配置文件不更改端口
运行以下命令:
mvn spring-boot:run -Drun.jvmArguments='-Dserver.port=8088'
将以下插件添加到您的pom.xml
文件中
<build>
. . .
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
. . .
org.springframework.boot
springbootmaven插件
Spring引导默认情况下只在单个端口上启动,因此应用程序必须包含一些配置Tomcat连接器的代码。我怀疑代码正在阻止server.port产生任何影响,可能是因为端口号已硬编码。您可以共享配置Tomcat连接器的代码吗?为什么不直接使用-Dserver.port=8088
?从Spring Boot 2开始,您应该使用Spring Boot.run.JVM参数
。