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
1074

被折叠的 条评论
为什么被折叠?



