1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Spring boot项目 maven多模块打包 子模块报错问题解决

Spring boot项目 maven多模块打包 子模块报错问题解决

时间:2020-10-12 01:40:40

相关推荐

Spring boot项目 maven多模块打包 子模块报错问题解决

问题一: Unable to find main class

在打包install公共模块的时候,打包失败,会出现报错信息。报错:Unable to find main class

原因:在maven编译这个工程模块的时候,尝试去模块下找main方法的class文件,但是我这个是一个公共服务模块,不需要启动项目,索引不需要main方法文件。

解决:在该工程模块的pom.xml中,添加下面的配置进行过滤即可即可。

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><skip>true</skip></configuration></plugin></plugins></build>

添加后,再install就成功了:

问题二:程序包 mon.utils不存在或者xxx找不到符号

在多模块项目中,会有模块之间的调用,被调用的模块,我们都是用maven将要用到的模块打成jar包,需要调用的模块,在pom.xml文件中引入模块就可以了。比如:service需要用到common-utils中的某些公共类,将common-utils打包成功后,再service中调用后。

下面是我的工程结构:

service启动编译时报错:程序包com.xxx.xxx.exception不存在和找不到符号加粗样式

原因:SpringBoot工程打包编译时,会生成两种jar包,一种是普通的jar,另一种是可执行jar。默认情况下,这两种jar的名称相同,在不做配置的情况下,普通的jar先生成,可执行jar后生成,造成可执行jar会覆盖普通的jar。而service工程无法依赖common-utils工程的可执行jar,所以编译失败:程序包不存在。

解决:在common-utils工程中,pom.xml文件中加入配置即可:

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><classifier>exec</classifier></configuration></plugin></plugins></build>

添加后,再install就成功了,:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。