2014-04-28 132 views
0

我在maven中有一个多模块项目,并且我创建了一个主子模块(这意味着这个子模块具有主类)。我添加其它子模块到主的子模块(这是子模块-0)作为依赖关系:Maven多模块:子模块作为依赖关系

<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的在我的LAN和我的行家的settings.xml被配置为连接到本地Artifactory的。在我安装Artifactory的PC中,此设置工作正常,但是当我在另一台计算机(我的笔记本电脑)中运行安装程序时,找不到子模块库,但我可以在使用Netbeans的项目的依赖项部分中看到它。

产生的错误是:

[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] 

我希望你们能帮助,如果这是一个重复的问题,希望你们能导致我在正确的道路。

回答

0

尝试在安装Artifactory的机器上运行目标“部署”的maven版本。由此,工件被上传到Artifactory的存储库,并可用于远程访问。

一旦你有你可能想看看进入行家释放小东西http://maven.apache.org/maven-release/maven-release-plugin/index.html

编辑一个稳定的版本: 你复制的settings.xml到其他机器上?

+0

是的,他们有相同的settings.xml,但除了在设置为本地主机而不是特定IP的Artifactory的机器之外。 – megamoth

+0

好了,您是否运行了部署构建?顺便说一句,Artifactory是否有某种网络界面来检查神器的存在? – Rob

+0

这可能是另一个问题,但子模块和外部maven项目之间有什么区别,因为我已经添加到依赖关系中的外部maven项目根本没有问题,但是子模块在编译时遇到问题 – megamoth