将springboot项目打包步骤:web
extends SpringBootServletInitializer
@Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(Springboot3Application.class); }
以上两步,结果图:spring
@SpringBootApplication public class Springboot3Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(Springboot3Application.class); } public static void main(String[] args) { SpringApplication.run(Springboot3Application.class, args); } }
<packaging>war</packaging>
点击IDEA右侧Maven project,选择install,如图:apache
运行结果:api
最后打成的war在maven仓库中,位置就是你的这个文件夹下tomcat
如图:springboot
将war放到webapps目录下,而后到tomcat的bin目录下启动startup.bat 程序,最后成功,能够在页面访问app
祝你成功!webapp
更新时间2018-07-28 上午10:00maven
虽然上面的步骤可以成功部署,但仍是须要有注意的地方,好比说公司用的是tomcat,同时springboot自带tomcat,因此部署到公司线上的时候,两个tomcat会发生冲突,如图:
主要是两方面缘由,一个是两个tomcat容器发生冲突,另一个是公司用的tomcat版本是7,不支持部分依赖,因此主要是这两个错误,解决方案。
<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>
这个是取出springboot自带的tomcat,下面添加两个依赖,由于公司的tomcat7版本,下面依赖也不能版本号过高,不能高于分别对应的3.0和8.0
<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-servlet-api</artifactId> <version>7.0.72</version> </dependency>
这样公司部署的就能够成功了
打包部署成功后都是 工程名+版本号+.war
若是你不想要后面版本号的话,能够直接
<finalName></finalName>
这里写你的部署成功后的自定义名字