package打包一个springcloud项目的某个微服务报错问题
作者:WikC.668
这篇文章主要介绍了package打包一个springcloud项目的某个微服务报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
package打包一个springcloud项目的某个微服务报错
事情是这样的 我需要打包一个父工程下的一个微服务 但是package一直报错 找不到公共依赖包api-commons 差了各种帖子都说是maven的问题 我还去C:\Users\云云小宝宝\.m2\repository\com\example\cloud-api-commons路径下找到了这个依赖包根本就是maven的问题提 关键是这个微服务是能正常运行的 就是打包不了 对这个微服务各种 clean和install然后在package都不行 最后直接把父工程clean install 然后在对这个微服务package 完美运行成功
这里是报错提示:
springcloud微服务环境下,maven打包时报错:程序包不存在以及找不到类
血泪史,不一定通用:
微服务中几个子工程有相互依赖时,出现程序包不存在找不到目标类,且会出现找不到启动类相关错误
spring-boot-maven-plugin的坑
IDEA执行正常,打包时报错
查看各个子模块,例如common公共依赖模块,打包插件不建议直接使用spring-boot-maven-plugin,该插件会打成可执行jar,就会去寻找main主函数,可能报找不到启动类的错,且打包后的jar结构不能被其他模块依赖
心得
提供服务的模块使用spring-boot-maven-plugin正常打包,如下:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
公共依赖的模块需要在插件配置,如下:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <!-- 解决没有main函数报错unable to find main class 的问题--> <executions> <execution> <phase>none</phase> </execution> </executions> <!--打成可被依赖jar结构--> <configuration> <classifier>execute</classifier> </configuration> </plugin> </plugins> </build>
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。