美文网首页
maven多模块相互依赖 程序包xxx不存在找不到符号

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

作者: 我要进大厂 | 来源:发表于2020-08-10 22:12 被阅读0次

    今天想测试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不存在找不到符号

          本文链接:https://www.haomeiwen.com/subject/yglsdktx.html