2016-05-13 80 views
1

我有两个需要同时运行的应用程序,并且都尝试在端口8080上运行。我想将其中的一个更改为端口9000。我正在尝试更改的应用程序具有弹簧安全性,因此在使用http时使用https和端口8080时,它将在端口8443上运行。我必须将它从端口8080移动而不更改任何.java文件。另外,我还需要在端口8080上运行另一个应用程序,所以更改默认的tomcat端口并不是一个好主意。更改Spring引导应用程序的端口而不更改代码

我尝试添加到application.properties线server.port=9000spring.main.server.port=9000,然后运行mvn install,然后java -jar target/app.jar

我也尝试使用不同的标志运行java -jar target/app.jar-Dserver.port=9000--server.port=9000

无论如何,我得到- Tomcat started on port(s): 8443 (https) 8080 (http)

所以,我的问题是:

  • 我如何得到它从8080不同端口上运行?
  • 而且,什么可能导致配置文件不改变端口?
+0

春季启动将只有一个端口上启动的默认设置,以便您的应用程序必须包含一些代码这就是配置Tomcat的连接器。我怀疑代码阻止了server.port的作用,可能是因为端口号是硬编码的。你能分享配置Tomcat连接器的代码吗? –

回答

3

运行以下命令:

mvn spring-boot:run -Drun.jvmArguments='-Dserver.port=8088' 

添加以下pluginpom.xml文件

<build> 
    . . . 
    <plugins> 
     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
     </plugin> 
    </plugins> 
</build> 
+0

为什么不使用'-Dserver.port = 8088'? –