SpringBoot自带Tomcat,直接运行main方法里面的SpringApplication.run即可,并且访问时不需要带项目名。
如果eclipse里面有两个SpringBoot项目并且controller层的访问路径一样,并且由于没有路径名,不能同时跑两个main方法,若同时跑两个main方法肯定端口号被占用。那如何同时启动两个项目。
question:
如何同时访问两个SpringBoot项目?
help:
只需要打包成war包,放入Tomcat中而不是SpringBoot自带的Tomcat中即可。那么访问就需要:localhost:8080/项目名/路径 即可解决。
方法:
1.去掉Springboot中的tomcat的jar即可
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<artifactId>log4j-over-slf4j</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
2.加入本地的Tomcat
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
3.让启动SpringBoot的类继承SpringBootServletInitializer并实现它的configure方法
@SpringBootApplication
public class StartProject extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(StartProject.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return super.configure(builder);
}
}
4.把项目打成war包(还可自定义项目名)
<build>
<finalName>Maven_SpringBoot_Demo1</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
//这里叫什么名之后包就叫什么名
<warName>bootTest</warName>
</configuration>
</plugin>
</plugins>
</build>
5.测试即可成功
版权声明:本文为m0_67392811原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。