Maven:附加多个工件

2024-01-17

我有一个 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 文件中附加多个工件吗?如果是的话怎么办。请帮忙。


附加工件通常用于安装由您的构建创建的附加文件,例如 Web 应用程序的类 jar、文档或源。

要将文件添加到您的 Maven 存储库,以便它们可以作为依赖项使用,您应该使用安装文件 http://maven.apache.org/plugins/maven-install-plugin/install-file-mojo.html goal.

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Maven:附加多个工件 的相关文章

随机推荐

  • 在 Objective-C 中创建抽象类

    我原本是一名 Java 程序员 现在使用 Objective C 我想创建一个抽象类 但这在 Objective C 中似乎不可能 这可能吗 如果不是 那么在 Objective C 中我能达到多接近抽象类的程度呢 通常 Objective
  • Spark groupByKey 替代方案

    根据 Databricks 最佳实践 SparkgroupByKey应该像 Spark 一样避免使用groupByKey处理的工作方式是 信息首先在工作人员之间进行洗牌 然后进行处理 解释 http databricks gitbooks
  • 我可以做一个简单的触发器吗?

    如果我创建一个插入 更新之前触发器 我知道如何做这样的事情 CREATE TRIGGER upd check BEFORE INSERT ON def servpath 0001 weatherstation FOR EACH ROW BE
  • gitignore 加载其他 gitignore

    是否可以 这git update index assume unchanged没有解决方案 必须跟踪被忽略的文件 创建子模块 E g 猫 customgitignore 1 2 3 i do not need this extension
  • 如何通过 VSCode 将 Jupyter Notebook 导出为 PDF 格式? (Windows 10)

    When I try to export my Jupyter Notebook in pdf format in VSCode like this 然后我得到这个错误 导出失败 请检查 Jupyter 输出面板以获取更多详细信息 jupy
  • 在cakephp的AppController中调用AppModel函数

    我有一个希望所有控制器都能够使用的函数 因此我在 AppController 中定义了它 现在 此函数将执行的部分操作与控制器无关 因此它应该在模型中 但由于这是通用操作 因此它在 AppModel 中似乎才是正确的 我的函数如下所示 cl
  • 删除字符串 Python 中的 Unicode 代码 (\uxxx)

    我的文档中有一些 Unicode 字符串 我想要的只是删除这个 Unicode 代码或用一些空格 替换它 示例 doc Hello my name is Ruth u2026 I really like swimming and danci
  • 实体框架一对多插入 - 外键违规

    我是第一次使用实体框架 并且尝试使用集合创建一个对象 并且我希望集合中的所有对象也都在数据库中创建 但我遇到了一些外键违规 我的样本表 table APPOINTMENTS ID VAR1 DATE APPOINTMENT table GU
  • 如何在 Android 应用程序中从 Web 服务器获取数据? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想在 Android 应用程序中从
  • Django - 将模型代码与数据库进行比较

    我维护一个 Django 项目 其中的数据库有几个与实际数据库不同步的模型约束 因此 例如 某些模型字段设置了 null False 但数据库允许相应的数据库列为 NULL 我很好奇 Django 或第三方 Python 脚本中是否有一个实
  • 如何为操作项(包括溢出菜单)的弹出窗口设置自定义颜色?

    背景 我正在努力为应用程序添加一些材料设计风格 因此我为操作栏和状态栏选择了不同的颜色 问题 为此 应用程序的主题是 Theme AppCompat Light DarkActionBar 并添加此主题以隐藏操作栏 因为我需要将其作为工具栏
  • 如何通过 Google Contacts API 创建新联系人?

    我正在创建一个新联系人 如中所述谷歌通讯录 API https developers google com google apps contacts v3 具体来说 我做了一个POST to https www google com m8
  • BigQuery - 从分区表中删除行

    我在 BigQuery 上有一个按日分区的表 当我尝试使用如下查询从表中删除某些行时 DELETE FROM MY DATASET partitioned table WHERE id 2374180 我收到以下错误 错误 分区表尚不支持
  • 需要在 Visual Studio 2010 中进行高效调试

    我经常使用Debug gt Exceptions gt check CLR Exceptions在调试会话期间 有时 会抛出并处理异常 但我真的想找到异常的来源 为了在不看到我不关心的第一次异常的情况下执行此操作 我启动我的应用程序 然后检
  • 使用 HTTPS 代替 HTTP

    我有一个用户必须登录的网站 我想使用 HTTPS 因此与服务器建立安全加密连接以检查用户名和密码 目前在我的服务器上我有一个名为 httpdocs 的文件夹 这是我的网站的存储位置 我还有一个名为 httpsdocs 的文件夹 现在正如我所
  • MongoDB updateMany,动态过滤字段

    使用 updateMany filter update option 时 如何为每个文档设置动态过滤字段 我有一系列这样的文档 time 1 data time 2 data time 3 data 每个都有一个唯一的时间戳 如果时间戳已经
  • 从另一个Java程序编译并运行Java程序[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 使用 CompileAndRun 类 我现在可以编译并运行我的 HelloWorld 类 现在我想用它来运行一个需要用户输入的程序 这可以是
  • 了解 MongoDB Aggregate 和 GroupBy

    我正在尝试在 MongoDB 中执行查询 首先按 id 进行分组 然后按降序排序 我这里有一个函数式 LINQ 表达式 var list this GetPackages ToList list list OrderByDescending
  • 为什么在使用自定义元素时会出现内部 Dartium 异常?

    我在控制台中看到此错误 Exception InvalidStateError Internal Dartium Exception PolymerDeclaration registerType package polymer src d
  • Maven:附加多个工件

    我有一个 Maven 项目 它使用一些自定义 jar 在任何存储库中都找不到 为了将它们与 Maven 构建一起添加 我在 Maven 中使用 Attach artifact 目标 以下是我的 pom 文件