org.springframework.boot.context.embedded.PortInUseException:端口80已被使用

时间:2016-04-15 10:35:55

标签: java spring spring-boot

当通过STS弹出启动运行应用程序时会发生这种情况。

Spring boot: 1.4.0.M1

我在端口80上运行了IIS但是我已经通过STS配置属性将sever.port更改为 8090 STS Screen shot

为什么STS嵌入式tomcat即使在更改后仍在使用端口80?有点疑惑。

  

2016-04-15 05:22:03,985 [main] ERROR o.s.boot.SpringApplication -   应用启动失败   org.springframework.boot.context.embedded.PortInUseException:端口   80已经在使用   org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.checkThatConnectorsHaveStarted(TomcatEmbeddedServletContainer.java:187)     在   org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:170)     在   org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:293)     在   org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:141)     在   org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:540)     在   org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)     在   org.springframework.boot.SpringApplication.refresh(SpringApplication.java:768)     在   org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:362)     在   org.springframework.boot.SpringApplication.run(SpringApplication.java:308)     在   org.springframework.boot.SpringApplication.run(SpringApplication.java:1183)     在   org.springframework.boot.SpringApplication.run(SpringApplication.java:1172)     在   com.jbhunt.web.FinanceClaimsApplication.main(FinanceClaimsApplication.java:71)

我找不到更改上述端口以外的选项 提及。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以配置使用随机端口(working-with-random-ports)加载上下文的测试类。

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)

WebEnvironment可以使用常量进行设置:RANDOM_PORT,DEFINED_PORT,MOCK或NONE。

  

webEnvironment属性允许为测试配置特定的“Web环境”。您可以使用MOCK servlet环境或在RANDOM_PORT或DEFINED_PORT上运行的真实HTTP服务器启动测试。