Java 在maven多模块项目中,如何打包单个子项目?
我在做一个多模块maven项目。不久前,该项目被划分为多个子项目:Java 在maven多模块项目中,如何打包单个子项目?,java,maven,maven-3,Java,Maven,Maven 3,我在做一个多模块maven项目。不久前,该项目被划分为多个子项目: “通用”JAR项目 “用户”WAR项目,取决于常见的 等等 这是与描述的相同的项目 当我在超级项目级别调用mvn包时,命令成功,由此产生的战争可以部署。但若我试图在子项目级别调用mvn包,命令就会失败 [ERROR] Failed to execute goal on project User: Could not resolve dependencies for project xxx.xxx:User:war:0.0.
- “通用”JAR项目
- “用户”WAR项目,取决于常见的
- 等等
mvn包
时,命令成功,由此产生的战争可以部署。但若我试图在子项目级别调用mvn包
,命令就会失败
[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正试图从远程repo下载我自己的项目(Common)
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
我的配置中可能有什么错误?您的pom.xml或settings.xml中有一个(JBoss)存储库条目。
要访问此存储库,需要对其进行身份验证。如果用浏览器调用路径,也会得到“403禁止”。您必须添加Jboss的公共存储库。(http://repository.jboss.org/)当您从
superproject
运行mvn包时,它会在相应的target
文件夹中创建工件,但不会将它们安装到本地存储库中
因此,当您在子项目
上运行mvn包
时,它在同级模块
上具有依赖关系
,它会在本地存储库中查找该依赖关系
,但找不到它,因此会尝试从配置的各个存储库中下载它
一旦您成功地从superproject
运行mvn安装
,子项目上的mvn包
应该可以工作 我花了很多时间来找出这种“错误”,这要感谢我在试图找到解决方案时很愚蠢,但实际上没有错误,因为我在依赖于其他模块的子模块中安装了mvn,当我在父范围上运行mvn install/package时,它应该可以正常工作