在我最近的项目中介绍给Maven后,过去几周我一直在尝试使用它。独立构建Maven子模块
我目前在我的开发环境中有一个多模块项目。项目“A”和项目“B”是项目的“根”的子模块,具有对A.
依赖B I我知道,我可以用mvn reactor:make...
所概述here建立乙独立。但是,我很好奇为什么我不允许从B的根文件夹中创建B.
为了说明这一点,我首先通过在A的根目录下运行clean install
来独立构建A.然而,当我试着做从B的根目录相同的动作,Maven的报道如下错误 -
Could not find artifact org.divesh.mavenrnd:root:pom:1.0 in central
它看起来像Maven是不能够解决家长的POM文件。任何想法为什么发生这种情况?从我对Maven多模块项目的最初理解中,将项目拆分为子模块的主要原因是共享依赖关系。但是,这不应该阻止我从其文件夹中独立构建特定的模块。
谢谢。
编辑
然的mvn -N clean install
在代表只安装根项目的POM。在此之后,我能够编译和安装A.后,成功地构筑b,则仍然有一件事我不是很清楚 - 假设我已经安装了根项目的POM在资源库中,如果我尝试建立一个,它指的是直接在它上面的父根POM还是在存储库中安装的POM?
这适用于我。除了这个答案:如果你还想建立'-pl'列表中项目所需的项目,可以使用'-am' **(也是make)**选项。在上面的问题中,由于B依赖于A,而不是先构建A,我们可以使用'mvn -am -pl B install'。 –