Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在maven多模块项目中,如何打包单个子项目?_Java_Maven_Maven 3 - Fatal编程技术网

Java 在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.

我在做一个多模块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.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时,它应该可以正常工作