更新時間:2021-12-29 11:13:43 來源:動力節(jié)點 瀏覽2193次
添加一個插件
<!-- 打包插件 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
這種使用SpringBoot內(nèi)嵌的Tomcat進(jìn)行部署。SpringBoot在不指定打包的時候默認(rèn)jar包形式
<packaging>jar</packaging>
使用命令啟動部署
java -jar xxx.jar
注意存在第三方j(luò)ar的情況
添加插件如上
打包方式修改為war
<packaging>war</packaging>
添加tomcat插件,spring boot本身有一個內(nèi)嵌的tomcat,如果不做其他配置直接打包,就會生成一個jar包。 所以我們引入外部tomcat
<!-- 外部 tomcat -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
在啟動類中做如下配置,繼承SpringBootServletInitializer,重寫configure方法
@SpringBootApplication
public class MyApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(MyApplication.class);
}
}
打包(war)
切換到項目所在路徑,使用命令 mvn clean package
使用IDE工具,例如IDEA自帶打包工具
部署,拷貝war包到tomcat的webapps路徑下,啟動tomcat
注意:這種war包方式端口號使用tomcat的,項目名使用war包的名字,對于application.yml配置文件里指定的端口號和項目名會覆蓋掉。
注意第三方j(luò)ar的情況
使用maven的打包插件,打包方式還是如上。
<build>
<!--設(shè)置maven-war-plugins插件,否則外部依賴無法打進(jìn)war包 -->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>src/main/resources/jar/</directory>
<targetPath>WEB-INF/lib</targetPath>
<filtering>false</filtering>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>
注意:打包插件不能再用springboot提供的。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743