air-cause 2023-06-08 16:45 采纳率: 50%
浏览 30

idea多module的问题

最近在使用idea弄spring boot的项目,准备分多个module,然后引用。
目前创建了一个project-main主工程,和多个子工程,比如project-a,project-b这样子,然后分属于不同项目,各自是单独的SVN地址。
然后project-a,project-b我会自己配置maven。可以编译、install jar到本地仓库;可以deploy jar到远程仓库。在project-main中通过pom引用(引用方式和引用其他的maven依赖方式相同),运行时会依赖,仓库中project-a.jar和project-b.jar。如果本地没有就去远程仓库下载。(理解和描述没错吧)
-这是分割线-
问题:
我本地做开发,不想每次修改了project-a都去install然后run project-main,也不能直接run project-a去验证代码(因为有些是纯bean之类的)。
我想每次run project-main时,都可以自动依赖project-a和project-b的target里的class文件。(不知道我表述清楚没有,就是我project-a修改了一个UserService类,他会知道编译class到project-a项目下的target里,但是此时没有install,所以project-a.jar里的这个class并没有更新)。
需求应该描述清楚了吧。
-这是分割线-
解决过程:
idea里,project structure里,module里,add import module,选择磁盘目录里的project-a,无论选择【create module from abc】还是【import module from abc】,都会导致引入的module,和之前的project-main是同级,而且在project-main里无法引用class。【project structure里import之后,project-main右侧的export可以add module dependency到import的project-a和project-b,不过貌似还是不生效】
尝试过,把project-a的代码复制到project-main的磁盘目录下,这个试时候是可行的,但是因为SVN的关系,不能这么干。
或者说,我应该创建一个工程project-max,然后引入project-main,project-a,project-b,然后直接跑project-main吗?

  • 写回答

2条回答 默认 最新

  • 瞬间的未来式 2023-06-08 16:51
    关注

    我应该创建一个工程project-max,然后引入project-main,project-a,project-b,然后直接跑project-main

    应该这么做

    评论

报告相同问题?

问题事件

  • 创建了问题 6月8日