Maven多模块:子模块作为依赖项

时间:2014-04-28 07:48:28

标签: java maven-3

我在maven中有一个多模块项目,我创建了一个主子模块(这意味着这个子模块有主类)。我将其他子模块添加到主子模块(Submodule-0)作为依赖项:

<dependencies>

    <dependency>
        <groupId>ProjectGroupId</groupId>
        <artifactId>Submodule-1</artifactId>
        <version>${project.version}</version>
    </dependency>

    <dependency>
        <groupId>ProjectGroupId</groupId>
        <artifactId>Submodule-2</artifactId>
        <version>${project.version}</version>
    </dependency>

    <dependency>
        <groupId>ProjectGroupId</groupId>
        <artifactId>Submodule-3</artifactId>
        <version>${project.version}</version>
    </dependency>

</dependencies>

我的局域网中有Artifactory,我的maven settings.xml配置为连接到本地Artifactory。在我安装了Artifactory的PC中,这个设置工作正常,但是当我在另一台计算机(我的笔记本电脑)中运行设置时,它找不到子模块库,但我可以在使用Netbeans的项目的Dependencies部分中看到它。

生成的错误是:

[ERROR] Failed to execute goal on project Submodule-0: Could not resolve dependencies for project ProjectGroupId:Submodule-0:jar:0.0.1: Failed to collect dependencies at ProjectGroupId:Submodule-1:jar:0.0.1: Failed to read artifact descriptor for ProjectGroupId:Submodule-1:jar:0.0.1: Failure to find ProjectGroupId:MultiModule:pom:0.0.1 in http://192.168.10.136:8081/artifactory/libs-release was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]

我希望你们能提供帮助,如果这是一个重复的问题,希望你们能带领我走上正确的道路。

1 个答案:

答案 0 :(得分:0)

尝试使用目标&#34;部署&#34;来运行maven构建。在安装了Artifactory的机器上。这样,工件就会上传到Artifactory的存储库,并可用于远程访问。

一旦你有一个稳定的版本,你可能想看看maven-release-stuff http://maven.apache.org/maven-release/maven-release-plugin/index.html

编辑: 您是否将settings.xml复制到另一台计算机上?