我有一个模块基于Maven的项目,说,
root
modA
modB
现在modB
取决于modA
。 当我运行
mvn initialize help:effective-pom
它失败,因为modB
要modA.jar
。 我的问题是,
为什么它需要的jar? 所需要的所有信息应在pom.xml中,这是模块中使用。
谁想要的尝试,看看,例如Hibernate 3.3.2核心。
谢谢,Ondra
我有一个模块基于Maven的项目,说,
root
modA
modB
现在modB
取决于modA
。 当我运行
mvn initialize help:effective-pom
它失败,因为modB
要modA.jar
。 我的问题是,
为什么它需要的jar? 所需要的所有信息应在pom.xml中,这是模块中使用。
谁想要的尝试,看看,例如Hibernate 3.3.2核心。
谢谢,Ondra
在一个多模块项目在当地尝试这样做,看到Maven并不需要依赖模块.jar文件的任何initialize
或help:effective-pom
。
它看起来像有可能会在你的pom一些插件配置,这是造成这一点。 你可以检查,如果是这样,有关POM片段更新您的问题吗?
当使用多模块项目打交道时,你需要实际使用的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
第一个进球。