关于maven打包配置

Execution repackage of goal org.springframework.boot:spring-boot-maven-plugin:2.2.1.RELEASE:repackage failed: Unable to find main class

排查下父子项目中以及当前项目中是否添加了spring-boot-maven-plugin插件,导致install项目时,去扫描了model、common等不可执行的文件。

解决:将父类中的spring-boot-maven-plugin插件注释掉,并确保子项目不可执行项目中没有spring-boot-maven-plugin插件配置。

start项目配置如下:

<build>
    <resources>
        <!-- 控制资源文件的拷贝 -->
        <resource>
            <!-- 本任用的idea 打包时需要修改src/main/java/resources 为 src/main/resources  否则配置文件打包不到,运行时又需要改回去,否则无法运行-->
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.yml</include>
                <include>**/logback-spring.xml</include>
            </includes>
            <excludes>
                <exclude>**/*.yml</exclude>
                <exclude>**/logback-spring.xml</exclude>
            </excludes>
            <filtering>true</filtering>
        </resource>
        <!--打包java下的mapper.xml-->
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
    <plugins>
        <!-- 设置编译版本 -->
        <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <encoding>UTF-8</encoding>
        </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <!-- 将入口类添加到 MANIFEST.MF 中 -->
                        <mainClass>com.sinotrans.frosexpress.expressservice.ExpressServiceStartApplication</mainClass>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib/</classpathPrefix>
                        <!-- 解决jenkins发布快照版版本不一致问题 -->
                        <useUniqueVersions>false</useUniqueVersions>
                    </manifest>
                    <!-- (配置文件外置目录) -->
                    <manifestEntries>
                        <Class-Path>config/</Class-Path>
                    </manifestEntries>
                </archive>
                <!-- 打包成jar时排除yml文件,因为部署时yml需要放置在外面 -->
                <!--                    <excludes>
                                        <exclude>*.yml</exclude>
                                        <exclude>*.properties</exclude>
                                    </excludes>-->
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <id>copy-dependencies</id>
                    <phase>package</phase>
                    <goals>
                        <goal>copy-dependencies</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${base.lib.path}</outputDirectory>
                        <!-- 拷贝项目依赖包到lib/目录下 -->
                        <outputDirectory>${project.build.directory}/lib</outputDirectory>
                        <!-- 间接依赖也拷贝 -->
                        <excludeTransitive>false</excludeTransitive>
                        <!-- 带上版本号 -->
                        <stripVersion>false</stripVersion>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
将依赖的包放到lib文件夹下,配置文件放到config文件夹下.

这样直接用jar 命令启动

https://blog.youkuaiyun.com/m0_46596994/article/details/121428254
maven-assembly-plugin插件 
https://blog.youkuaiyun.com/qq_36326332/article/details/108249636
Maven 打包插件 maven-jar-plugin
https://blog.youkuaiyun.com/Ares5kong/article/details/128777500

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值