【问题标题】:How to install dependency when JAR name differs from folder version name?当 JAR 名称与文件夹版本名称不同时如何安装依赖项?
【发布时间】:2016-09-01 18:13:45
【问题描述】:

我包含来自自定义 Maven 存储库的依赖项。我要包含的 JAR 位于 URL

http://mvn.example.org/repositories/org/apache/foo/foo/1.2.3-4/1.2.3-4-h2.jar

(不是最后的-h2;后面很重要。)

我已将http://mvn.example.org/repositories 作为<repository> 包含在我的settings.xml 中,并将我的项目的pom.xml 设置为包含

<dependencies>
    <dependency>
        <groupId>org.apache.foo</groupId>
        <artifactId>foo</artifactId>
        <version>1.2.3-4</version>
    </dependency>
...
</dependencies>

但是,当我尝试使用此设置mvn install 时,我得到了

Downloading: http://mvn.example.org/repositories/org/apache/foo/foo/1.2.3-4/1.2.3-4.jar

紧接着是BUILD FAILURE,因为那不是 JAR 的 URL。请注意,此问题顶部的 实际 URL 有一个 -h2 版本号后缀,文件夹版本号中不存在。

看到默认假设似乎是 teh JAR 的 filanme 与文件夹名称匹配,我如何告诉 Maven 提取版本号文件名与包含文件夹文件名不同的 JAR?

【问题讨论】:

  • 我认为这只是&lt;classifier&gt; 字段。
  • @OliverCharlesworth 是的,&lt;classifier&gt; 正好适合它;谢谢你!你想发布一个答案,还是你认为这个问题太琐碎了,不值得提问,我应该删除这个? (作为一个Maven菜鸟,我之前真的不知道答案,你的建议完全正确。)
  • 当然 - 这是一个有根据的猜测 - 但很高兴它成功了!

标签: maven-2


【解决方案1】:

这是Maven classifier。您应该可以使用&lt;classifier&gt;h2&lt;/classifier&gt; 指定它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-19
    • 2013-12-06
    • 2014-05-04
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    • 2016-11-17
    • 2013-12-17
    相关资源
    最近更新 更多