解决SpringCloud多模块打包问题

该文章详细介绍了如何配置SpringCloud项目的打包过程,包括在父项目中设置全局的Maven插件,如解决资源文件编码问题,设定Java编译版本,以及排除某些文件不被打包。同时,在含有启动类的子项目中,需要添加特定的spring-boot-maven-plugin来重新打包并指定程序入口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringCloud打包配置

父项目

父项目需要配置全局的打包配置

<build>
    <finalName>${project.artifactId}</finalName>
    <plugins>
        <!-- 解决资源文件编码问题 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>3.0.2</version>
            <configuration>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
        <!-- 设置编译版本 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.7.0</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
                <encoding>UTF-8</encoding>
                <skip>true</skip>
            </configuration>
        </plugin>
        <!-- 打jar包 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.0.2</version>
            <configuration>
                <excludes>
                    <exclude>*.properties</exclude>
                    <exclude>*.xml</exclude>
                    <exclude>template/*</exclude>
                </excludes>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>2.5.5</version>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <!-- 绑定到package生命周期 -->
                    <phase>package</phase>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

子项目

在有启动类的子项目中,要添加项目这个打包配置,指明这里有启动类,让jar包知道启动类的路径

在这里插入图片描述

<!--这里的打包配置要在,每个要运行的子项目中编写,目的让mave找到程序执行入口-->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <!--spring的版本:改为自己项目一致的-->
            <version>2.3.12.RELEASE</version>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
    <defaultGoal>install</defaultGoal>
</build>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值