Maven:附加多个工件

我有一个使用一些自定义jar的maven项目[在任何存储库中都找不到]。 要将它们与Maven构建一起添加,我在maven中使用attach-artifact目标。 以下是我的pom文件:

  4.0.0 com.maximus adminbuild 1.0-SNAPSHOT pom adminbuild  src/main/java src/test/java target   org.codehaus.mojo build-helper-maven-plugin 1.7   attach-artifacts package  attach-artifact     ${basedir}/../../resources/dependencies/java/customjar1.jar jar   ${basedir}/../../resources/dependencies/java/customjar2.jar jar          

我使用这些jar [customjar1.jar,customjar2.jar]的项目依赖于上面的pom文件[adminbuild]。

当我执行mvn clean install命令时,出现以下错误:

 [ERROR] Failed to execute goal org.codehaus.mojo:build-helper-maven-plugin:1.7:attach-artifact (attach-artifacts) on project adminbuild: The artifact with same type and classifier: jar:null is used more than once. -> [Help 1] 

以下是mvn -version命令的输出:

 Apache Maven 3.0.3 (r1075438; 2011-02-28 23:01:09+0530) Maven home: C:\maven Java version: 1.6.0_26, vendor: Sun Microsystems Inc. Java home: C:\Java\jdk1.6.0_26\jre Default locale: en_IN, platform encoding: Cp1252 OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows" 

似乎我附加工件的方式不正确。 我不应该在同一个pom文件中附加多个工件吗? 如果是,那么如何。 请帮忙。

附加工件通常用于安装构建创建的其他文件,例如webapp的类jar,文档或源。

要将文件添加到maven存储库以便它们作为依赖项可用,您应该使用安装文件目标。

编辑:附加工件由与主项目相同的groupId和artifactId标识,但具有不同的分类器。 在您的配置中,您没有指定分类器,因此错误消息。

您可能希望将这些自定义jar放在像nexus这样的存储库管理器中,以便可以像普通的依赖jar一样下载/使用它们。

假设这是不可能的,并且看到这些jar子在众所周知的位置,也许您可​​以在需要它们的项目中指定这些具有system范围的自定义jar子?

  ...   my-group customjar1 abc system ${basedir}/../../resources/dependencies/java/customjar1.jar   ...  

我使用了一个辅助项目和一个多模块。

https://stackoverflow.com/q/7908872/242042