將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>
這裏寫你的部署成功後的自定義名字