SpringBoot实现war包和jar的兼容package
程序员文章站
2024-03-09 10:04:47
...
springboot进行war包的package操作参考:
https://blog.csdn.net/zhangcongyi420/article/details/100065407
1、添加servlet依赖
<!--添加servlet-api的依赖,用来打war包 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
2、添加tomcat依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
3、保留改造前和改造后的启动类,分别命名为MainApp和MainWebApp:
@SpringBootApplication
public class MainApp {
public static void main(String[] args) {
SpringApplication.run(MainApp.class,args);
}
}
@SpringBootApplication
public class MainWebApp extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(MainApp.class,args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(MainApp.class);
}
}
4、pom中添加maven编译插件,并指定启动类(使用变量进行动态选择启动类):
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>${main.class}</mainClass>
</configuration>
</plugin>
</plugins>
</build>
5、添加pom中的变量
<profiles>
<!-- 定义了多种属性文件,在指定的id下,选择性使用指定属性文件下定义的属性(变量)等 -->
<profile>
<id>dev</id>
<activation>
<!-- 默认** -->
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- 开发 -->
<packaging.type>jar</packaging.type>
<main.class>xyz.jangle.MainApp</main.class>
</properties>
</profile>
<profile>
<id>product</id>
<properties>
<!-- 生产 -->
<packaging.type>war</packaging.type>
<main.class>xyz.jangle.MainWebApp</main.class>
</properties>
</profile>
</profiles>
6、使用变量定义打包类型
<groupId>xyz.jangle</groupId>
<artifactId>app</artifactId>
<packaging>${packaging.type}</packaging>
7、通过打包命令选择具体环境
war包package :
package -Pproduct
jar包package:package :
package
或者
package -Pdev
推荐阅读
-
SpringBoot实现war包和jar的兼容package
-
SpringBoot项目中解决引入第三方jar包,打成war包的
-
springboot的war和jar包的使用详解
-
配置SpringBoot方便的切换jar和war的方法示例
-
springboot的war和jar包的使用详解
-
配置SpringBoot方便的切换jar和war的方法示例
-
SpringBoot项目如何打成war包和jar包的(运行方案)
-
springboot项目打包成jar或war包的方式(引用了本地jar包的)
-
Linux中jar包启动和jar包后台运行的实现方式
-
idea打包SpringBoot项目打包成jar包和war