一、下载tomcat8.5.55 的tar.gz包,解压即可。
tar -zxvf apache-tomcat-7.0.75.tar.gz
二、通过idea、maven打war包
1、在pom.xml中设置打包方式
<packaging>war</packaging>
2、在pom.xml中排除内嵌tomcat,并引入tomcat,<scope>provided</scope>只在编译测试时使用,打了war包后不会与外置tomcat冲突。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
3、启动类继承SpringBootServletInitializer
//继承SpringBootServletInitializer,用于部署到外部容器
public class MyApplication extends SpringBootServletInitializer{
private final static Logger logger= LoggerFactory.getLogger(EaphmApplication.class);
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
//继承SpringBootServletInitializer,用于部署到外部容器
@Override
public SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(MyApplication.class);
}
}
4、点击maven的package,打war包
maven打war包三、部署
1、启动tomcat
sh /opt/apache-tomcat-8.5.55/bin/startup.sh
2、将war包上传到/opt/apache-tomcat-8.5.55/webapps,tomcat会自动解压,将war包放入解压出的文件夹中。
3、将/opt/apache-tomcat-8.5.55/webapps/ROOT文件夹修改名称为tomcatIndex。
4、将war解压出的文件夹名称改为ROOT,完成ROOT文件夹的替换。
完成!访问localhost:8080即可。
四、需要注意的地方
1、项目中有多个类继承了SpringBootServletInitializer
会导致tomcat启动时,日志文件中一直报错:No SpringApplication sources have been defined. Either override the configur,这时tomcat虽然部署了项目,但无法完成项目加载,项目是不可用的。
网友评论