maven多模块相互依赖 程序包xxx不存在找不到符号

今天想测试idea下maven多模块。

在测试moduleA模块依赖moduleB模块,然后package打包moduleA模块成jar包,但是package过程中,发现moduleA模块找不到moduleB的类(提示:找不到符号)

本质解决方案就是:
1、在依赖模块moduleA的pom.xml里面添加被依赖的moduleB

添加依赖

2、将moduleB模块mvn install发布到本地仓库,moduleA就可以正常找到moduleB了。

但是,一开始moduleA可以package成功,后面又不行了。搞不懂是什么情况。

明明moduleB已经mvn install发布到本地仓库了,但是moduleA就是无法识别。

[ERROR] Failed to execute goal on project moduleA: Could not resolve dependencies for project com.bigdata:moduleA:jar:1.0-SNAPSHOT: Failed to collect dependencies at com.bigdata:moduleB:jar:1.0-SNAPSHOT: Failed to read artifact descriptor for com.bigdata:moduleB:jar:1.0-SNAPSHOT: Could not find artifact com.bigdata:maven1:pom:1.0-SNAPSHOT in aliyun-maven (http://maven.aliyun.com/nexus/content/groups/public/) -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

最后解决方案:从moduleA和moduleB的parent父亲maven1这个父pom.xml进行mvn clean package。即可解决。

解决方案参考:https://www.cnblogs.com/ningheshutong/p/6435707.html


注意事项:该问题是本地环境运行没有问题,打jar包出现问题

先贴项目结构

image

在scb_sysAdmin中引用了scb_common

image

做如下操作--在common下新增类、包等

image

在sysadmin中 打包构建 pom 运行命令 run maven install 打包

image

解决办法

在coommon 的pom 中 运行命令 run maven install 打包

然后再 sysadmin pom 上运行 run maven install 打包 成功

作者:一个忙来无聊的人
链接:https://www.jianshu.com/p/6ab810b12ad7
来源:
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


你可能感兴趣的:(maven多模块相互依赖 程序包xxx不存在找不到符号)