问题描述
|
我正在做一个多模块Maven项目。前一段时间,该项目被划分为多个子项目:
\“ Common \” JAR项目
\“ User \” WAR项目,取决于Common
等等
这个问题与此处描述的项目相同。
当我在超级项目级别调用“ 0”时,命令成功执行,并且可以部署产生的战争。但是,如果我尝试在子项目级别调用“ 0”,则命令将失败。
[ERROR] Failed to execute goal on project User: Could not resolve
dependencies for project xxx.xxx:User:war:0.0.1-SNAPSHOT: Failed
to collect dependencies for [xxx.xxx:Common:jar:0.0.1-SNAPSHOT (compile),...
显然,maven正在尝试从远程仓库下载我自己的项目(通用)。
Downloading: http://repository.jboss.org/maven2/xxx/xxx/Common/0.0.1-SNAPSHOT/maven-Metadata.xml
Downloading: http://download.java.net/maven/glassfish/xxx/xxx/Common/0.0.1-SNAPSHOT/maven-Metadata.xml
[WARNING] Could not transfer Metadata xxx.xxx:Common:0.0.1-SNAPSHOT/maven-Metadata.xml from/to jboss (http:/
/repository.jboss.org/maven2): Access denied to: http://repository.jboss.org/maven2/xxx/xxx/common/0.0.1-SNA
PSHOT/maven-Metadata.xml
我的配置中可能有什么问题?
解决方法
当您从
superproject
运行mvn package
时,它将在相应的target
文件夹中创建工件,但不会将它们安装在本地存储库中。
因此,当您在subproject
上运行mvn package
,而在其同级module
上有dependency
时,它将在本地存储库中查找ѭ9,,找不到它,因此尝试从配置的各个存储库中下载它。
一旦成功从ѭ5中运行an12ѭ,子项目上的mvn package
就应该起作用。
, 您的pom.xml或settings.xml中都有一个(JBoss)存储库条目。
要访问此存储库,需要进行身份验证。如果使用浏览器调用路径,则还会得到“ 403禁止访问”。您必须添加Jboss的公共存储库。 (http://repository.jboss.org/)
, 我花了很多时间来找出这种\'ERROR \',这要归功于Raghuram,我在尝试找到解决方案时很愚蠢,但实际上没有任何错误,只是因为我在依赖于子模块的mvn中安装了mvn关于其他模块的依赖关系,当我在父范围内运行mvn install / package时,它应该可以正常工作。