之前开始接触springboot时研究了好久将springboot部署到tomcat上,成功了之后又过了好久,然后今天做了一个简单的demo部署后却报404。于是又重新查资料去研究,并且查看之前成功的项目。最后终于成功了却又花了我两个小时,实在不应该,这次我就讲这个记下来吧。
其实很简单,一加上依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
二加上一个类,我是和Application放在一个目录下的
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);//Application类
}
}
这样就行了
springboot2.0使用
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
@ServletComponentScan
@RestController
public class Application extends SpringBootServletInitializer{
Logger logger = LoggerFactory.getLogger(this.getClass());
@RequestMapping("/")
public String greeting() {
return "Hello World !";
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
pom里面要排除内置的tomcat
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 排除Tomcat的干扰用于打war 包 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>