java – 具有maven的多模块IntelliJ项目 – 如何从一个模块添加依赖关系到另一个模块?

前端之家收集整理的这篇文章主要介绍了java – 具有maven的多模块IntelliJ项目 – 如何从一个模块添加依赖关系到另一个模块?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一个maven项目,里面有一些maven模块.

我的主要模块依赖于其他模块,所以当我编译主模块时,它们应该被编译在一起.

问题是如何将这些模块作为依赖关系添加到主模块?

我知道如果我有一个自定义的lib,我想用maven,让我们来说一个实用程序项目,我必须编译该项目的jar,做一个mvn install:install-file在它上安装在本地存储库和然后将其添加到pom.xml.

我必须使用我所有的模块,并添加依赖关系到我的主模块上的pom.xml吗?因为如果这样做,那么在更改其他模块上的代码时会做很多工作.

使用最好的做法是避免将模块编译/安装到本地存储库的麻烦?

解决方法

问题是如何将这些模块作为依赖关系添加到主模块?

与您的maven项目中添加任何其他依赖关系相同.通过将组ID,工件id和版本添加到< dependency>元件

我必须使用我所有的模块,并添加依赖关系到我的主模块上的pom.xml吗?

如果您的主模块依赖于某个模块A,那么只有主模块的pom应该包含对模块A的依赖性声明.您对模块的所有依赖项执行此操作.

我不知道你在改变其他模块上的代码时所做的很多工作是什么意思. Maven与代码更改无关,它只是在给定的时刻构建项目,而不管它们是什么样的…

使用最好的做法是避免将模块编译/安装到本地存储库的麻烦?

调用mvn install的任何项目都将构建,并将其复制到本地存储库.这就是你所需要做的,让罐子进入回购.这也将把所有依赖的罐子(如果有的话)放入当地的回收站.

关于多模块项目的最佳实践:

如果您的父项目(其中包含模块的项目)具有< modules>部分列出了应用程序的模块,模块位于父项目的子目录中,然后您只需安装(或任何您想要做的)父项目,并将导致所有模块按声明定义的顺序构建它们之间的依赖关系.这意味着如果您的主模块依赖于模块A,则模块A将在主模块之前构建.这样,您可以使用一个命令构建和安装所有模块.另一方面,这种方法使得在某些情况下不需要的模块之间形成更紧密的耦合,所以它取决于用例是否是一个好的方法.

原文链接:/java/122998.html

猜你在找的Java相关文章