Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在不更改代码的情况下更改Spring引导应用程序的端口_Java_Tomcat_Spring Boot - Fatal编程技术网

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参数