配置:Tomcat8,jdk1.8才行
1.修改项目的pom.xml配置,我们修改其打包方式为war方式,如
<packaging>war</packaging>
2.修改pom.xml,从maven的pom中移除springboot自带的的嵌入式tomcat插件
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 移除嵌入式tomcat插件 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
3.修改pom.xml,在maven的pom中添加servlet-api的依赖
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
4.修改启动类,并重写初始化方法
@SpringBootApplication
public class MyhouseApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 注意这里要指向原先用main方法执行的Application启动类
return builder.sources(MyhouseApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(MyhouseApplication.class, args);
}
}
5.自定义war包名称
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!--<testFailureIgnore>true</testFailureIgnore>-->
</plugin>
</plugins>
<!--war包名称-->
<finalName>myhouse</finalName>
</build>
6.idea 打包 war包 部署到外部的Tomcat容器并验证
双击运行,报错test错误 加入
成功时
7.将war包拷贝到Tomcat webAPP下
8.启动外置Tomcat
9.报错Factory method 'httpPutFormContentFilter' threw exception; nested exception is java.lang.NoClassDefF
详细报错忘记了 成功时才写这篇
解决办法pom.xml
加上
<!-- jackson -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
再打包运行 成功后访问加上war包名称
即可成功
10.在idea上运行 设置
导入打包后的war 即可运行 在浏览器中直接输入http://127.0.0.1:8080即可