Maven的:为什么它需要依赖模块的.jar文件为`MVN initialize`?(Maven:

2019-09-26 00:55发布

我有一个模块基于Maven的项目,说,

root
  modA
  modB

现在modB取决于modA 。 当我运行

mvn initialize help:effective-pom

它失败,因为modBmodA.jar 。 我的问题是,

为什么它需要的jar? 所需要的所有信息应在pom.xml中,这是模块中使用。

谁想要的尝试,看看,例如Hibernate 3.3.2核心。

谢谢,Ondra

Answer 1:

在一个多模块项目在当地尝试这样做,看到Maven并不需要依赖模块.jar文件的任何initializehelp:effective-pom

它看起来像有可能会在你的pom一些插件配置,这是造成这一点。 你可以检查,如果是这样,有关POM片段更新您的问题吗?



Answer 2:

当使用多模块项目打交道时,你需要实际使用的install目标,应在POM文件(工件)到本地资源库。 运行mvn initialize你的根POM基本上引起行家做以下到您MODA和MODB项目

mvn initialize -f modA/pom.xml
mvn initialize -f modB/pom.xml

如果使用安装它可以运行在MODA安装商业方法甚至开始之前,从而确保所有MODA的文物,包括它的POM,将在您的本地回购。 当商业方法运行时,它会抓住这些文物,包括MODA的POM,从本地资源库。 Maven是不是足够“智能”,要知道仅仅凭借他们在同一个多模块项目是中寻找MODA的pom.xml相对于商业方法。 因此,为什么必须使用安装工件install第一个进球。



文章来源: Maven: Why does it need dependency modules' .jars for `mvn initialize`?