当通过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)
我找不到更改上述端口以外的选项 提及。任何帮助将不胜感激。
答案 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服务器启动测试。