V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
springmarker
V2EX  ›  Java

maven 怎么依赖同级 module

  •  
  •   springmarker · 2020-02-11 15:58:28 +08:00 · 3156 次点击
    这是一个创建于 1752 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如一个 module 放通用 pojo class,另一个是项目 module,项目依赖这个 pojo module,在 maven 里面怎么做才能实时依赖,每次都得 install。

    Gradle 平常就直接:

    compile(project(":pojo-module"))
    
    6 条回复    2020-05-05 13:18:19 +08:00
    luckyrayyy
        1
    luckyrayyy  
       2020-02-11 16:10:18 +08:00
    dependencyManagement 标签?
    retanoj
        2
    retanoj  
       2020-02-11 23:20:13 +08:00 via iPhone
    子模块 b 引用子模块 a,不会影响开发的吧
    IDE 可以正确识别的
    gaobing
        3
    gaobing  
       2020-02-12 08:28:04 +08:00 via Android
    给他们家里一个父 module,用 module 标签声明不同的子模块,同属一个工程就可以了
    passerbytiny
        4
    passerbytiny  
       2020-02-12 10:31:00 +08:00
    maven 依赖原本就是依赖仓库中的包,所以必定要 install 的,不管你是否同级。

    但是 IDE 会帮你做事,Eclipse 下,你将被依赖项目导入为 eclipse 项目,那么依赖项目的该项依赖会从依赖 maven 仓库变更为依赖项目。当然还是建议做项目聚合。

    另外,pojo 属于经常变更的东西,不建议搞成通用的。
    springmarker
        5
    springmarker  
    OP
       2020-05-05 12:28:26 +08:00
    @passerbytiny #4 想问一下,如果面对 RPC 或者需要相互通信的程序,他们交互的对象肯定是共享的,不拆分到单独的 module 里面那应该怎么做呢?

    不好意思回复晚了,V 站一直没有提醒我
    passerbytiny
        6
    passerbytiny  
       2020-05-05 13:18:19 +08:00
    @springmarker #5 RPC 只是远程调用,并没有限制依赖程度。若调用方强依赖于被调用方(利用远古的 Java RPC 、Hessian,现今的 Dubbo ),那么你这个 pojo 不如直接放到被调用方中,反正被调用方对调用方具有决定权。(虽然这些框架都建议搞独立的 module 放接口和 pojo,但基本等同于脱裤子放屁。)若调用方弱依赖于被调用方(例如微服务的不同节点),那么这时候双方是完全解耦的,与其再搞个双方共同强依赖的第三方 pojo module,不如直接用通用的 json 和 RESTful 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5946 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 02:38 · PVG 10:38 · LAX 18:38 · JFK 21:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.