通过Maven profile实现既支持war包方式也支持fat jar方式

通过Maven profile实现既支持war包方式也支持fat jar方式

您可以通过使用 Maven 的 profiles 来实现既支持 WAR 打包方式,也支持可执行的 JAR 文件(fat JAR)方式。您可以在不同的 profile 中配置不同的 <packaging>spring-boot-maven-plugin<configuration>

以下是一个示例,演示如何通过 Maven profiles 实现这一目的:

xml 复制代码
<profiles>
    <profile>
        <id>war-packaging</id>
        <activation>
            <activeByDefault>true</activeByDefault> <!-- 设置默认激活该 profile -->
        </activation>
        <properties>
            <packaging.type>war</packaging.type>
        </properties>
    </profile>
    <profile>
        <id>fat-jar-packaging</id>
        <properties>
            <packaging.type>jar</packaging.type>
        </properties>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <version>2.5.3</version>
                    <configuration>
                        <executable>true</executable>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

然后,您可以在 <packaging> 中使用 ${packaging.type} 来引用这些 profile 中定义的属性。例如:

xml 复制代码
<packaging>${packaging.type}</packaging>

通过这种方式,您可以根据需要选择不同的 profile 来构建 WAR 包或者可执行的 JAR 文件。

相关推荐
ALex_zry10 分钟前
C++ MQTT物联网通信实战:从入门到生产环境
java·c++·物联网
Jack_David18 分钟前
Kafka批量消息发送
java·分布式·kafka
武超杰21 分钟前
Spring MVC进阶与SSM整合实战
java·spring·mvc
不吃香菜学java27 分钟前
苍穹外卖-删除菜品
java·spring boot·spring·tomcat·log4j·maven
jgbazsh1 小时前
Redis6.2.6下载和安装
java
于先生吖1 小时前
JAVA 本地生活服务项目实战 家政 5.0 系统前后端分离部署
java·开发语言·生活
左左右右左右摇晃1 小时前
Java并发——锁的状态演变
java·开发语言·笔记
Roselind_Yi1 小时前
排查Visual C++堆损坏(HEAP CORRUPTION)错误:从报错到解决的完整复盘
java·开发语言·c++·spring·bug·学习方法·远程工作
bing_1581 小时前
spring Boot 3.0 和2.0的区别
java·spring boot·后端
Thomas.Sir1 小时前
Shiro认证与授权:Java安全框架的核心机制
java·安全·shiro·权限控制