java – Maven:附加多个工件

前端之家收集整理的这篇文章主要介绍了java – Maven:附加多个工件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个maven项目,使用一些自定义jar [在任何存储库中找不到].要将它们与Maven构建一起添加,我在maven中使用attach-artifact目标.以下是我的pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.maximus</groupId>
  <artifactId>adminbuild</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>pom</packaging>
  <name>adminbuild</name>

  <build>
    <sourceDirectory>src/main/java</sourceDirectory>
    <testSourceDirectory>src/test/java</testSourceDirectory>
    <outputDirectory>target</outputDirectory>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.7</version>
        <executions>
          <execution>
            <id>attach-artifacts</id>
            <phase>package</phase>
            <goals>
              <goal>attach-artifact</goal>
            </goals>
            <configuration>
              <artifacts>
                <artifact>
                  <file>${basedir}/../../resources/dependencies/java/customjar1.jar</file>
                  <type>jar</type>
                </artifact>
                <artifact>
                  <file>${basedir}/../../resources/dependencies/java/customjar2.jar</file>
                  <type>jar</type>
                </artifact>
              </artifacts>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

我使用这些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存储库,以便它们作为依赖项可用,您应该使用install-file目标.

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

猜你在找的Java相关文章