标签: maven-dependency

Maven:在向POM添加依赖项后更新存储库的命令

我已经为我的POM添加了一个新的依赖项.

是否有一个简单的命令我可以运行将此依赖项下载到我的存储库?

maven-2 maven-dependency

235
推荐指数
3
解决办法
33万
查看次数

Maven依赖项 - 版本与更新

mvnrepository通常列出每个依赖项的"版本"和"更新".

  1. 如果我发布自己的包,我该如何指定"更新"版本
  2. Maven在解决传递依赖性时使用了哪种依赖性?因此,如果我的包依赖于包A,它取决于包B的 - version = 1.0和updates = 1.1.我会得到哪个版本的B?

maven maven-dependency

27
推荐指数
1
解决办法
6014
查看次数

maven依赖树输出中"+ - "和"\ - "之间有什么区别?

如果我们考虑以下示例,"+ - "和"\ - "符号之间的区别是什么,它们表示什么?

[INFO] [dependency:tree]
[INFO] org.apache.maven.plugins:maven-dependency-plugin:maven-plugin:2.0-alpha-5-SNAPSHOT
[INFO] +- org.apache.maven.reporting:maven-reporting-impl:jar:2.0.4:compile
[INFO] |  \- commons-validator:commons-validator:jar:1.2.0:compile
[INFO] |     \- commons-digester:commons-digester:jar:1.6:compile
[INFO] |        \- (commons-collections:commons-collections:jar:2.1:compile - omitted for conflict with 2.0)
[INFO] \- org.apache.maven.doxia:doxia-site-renderer:jar:1.0-alpha-8:compile
[INFO]    \- org.codehaus.plexus:plexus-velocity:jar:1.1.3:compile
[INFO]       \- commons-collections:commons-collections:jar:2.0:compile
Run Code Online (Sandbox Code Playgroud)

dependency-management maven maven-dependency-plugin maven-dependency

21
推荐指数
3
解决办法
4604
查看次数

Jenkins构建了一个由许多Maven项目组成的产品?(使用Jenkins Pipeline插件?)

我们的产品由许多相互依赖的Maven项目组成.所有这些Maven项目都汇集在一个项目中,提供最终产品.

Maven项目共享相同的生命周期.换句话说,他们不是由单独的团队管理,他们有明确的<dependency>变化来获取其他项目的新版本.相反,当有人在某个项目中更改某些内容时,结果应该直接进入最终产品,而无需进行其他更改.

我们使用Jenkins作为持续集成工具.

我们的主要愿望如下:

  • 无需将所有项目间依赖项复制到Jenkins配置:这些应该在一个地方,理想情况下是pom.xml文件.
  • 避免不必要的构建:在SCM更改时,仅构建可能受影响的项目.
  • 钻石依赖性的情况下(C取决于B1和B2,它们都依赖于A),如果最低(A)被改变,那么最终产品(C)应该总是使用也用于构建的A的版本/测试B1和B2.

问题:使用Jenkins执行此操作的最佳方法是什么?

我们目前正在考虑使用Jenkins Pipeline插件来使用单个作业,该插件分析Maven依赖关系和SCM更改,决定需要构建什么以及以何种顺序构建,然后实际构建项目.

maven jenkins maven-module jenkins-workflow maven-dependency

21
推荐指数
1
解决办法
9952
查看次数

与Maven一起处理依赖地狱的系统方法

我正在努力解决如何处理jar依赖地狱的问题.我有一个使用一些aws sdk的Maven-IntelliJ Scala项目.最近添加kinesis sdk引入了不兼容的Jackson版本.

我的问题是:我如何系统地解决Jar地狱的问题?

我理解类加载器以及maven如何在重复的Jars之间选择,但我仍然对解决问题的实际步骤感到茫然.

我此刻的尝试是基于反复试验,我在杰克逊的例子中概述了这里:

  • 首先,我在Jackson数据绑定ObjectMapper类上看到了实际的异常,在本例中是NoSuchMethodError.然后,我查看Jackson文档,了解添加或删除方法的时间.这通常非常繁琐,因为我手动检查每个版本的api文档(问题1:有更好的方法吗?).
  • 然后,我 mvn dependency:tree用来确定我实际使用的Jackson版本(问题2:是否有一种自动方式询问maven正在使用哪个版本的jar,而不是梳理树输出?).
  • 最后,我mvn dependency:tree在添加Kinesis SDK之前和之后比较 输出,以检测mvn dependency:tree输出中的差异 ,并希望看看Jackson版本是否发生了变化.(问题3:当发生依赖性解析时,maven如何使用着色jar中的库?与其他任何一个相同?).

最后,在比较树输出之后,我尝试在POM中明确添加最新的Jackson工作版本,以触发maven依赖解析链中的优先级.如果最新版本不起作用,我会添加下一个最新的lib,依此类推.

整个过程非常繁琐.除了我提出的具体问题外,我也很好奇其他人对这个问题的系统性方法.有没有人有他们使用的资源?

java intellij-idea pom.xml maven maven-dependency

20
推荐指数
2
解决办法
4273
查看次数

Maven - 相同依赖的多个版本

我有一个Web应用程序,其中依赖项引入两个名为的jar:

  1. Javassist进行-3.9.0.GA.jar
  2. Javassist进行-3.20.0-GA.jar

当我打包WAR时,我在WEB-INF/lib目录中都有这两个,我的问题是应用程序正在运行以及为什么我不会遇到任何问题,因为显然我在两个jar中都有相同的类,应该有问题对?

maven maven-dependency

16
推荐指数
2
解决办法
3万
查看次数

java.lang.NoSuchFieldError:bitpay SDK中的INSTANCE

我想实现这个代码

public void testGetExchangeRate() throws Exception
{
    ECKey key = KeyUtils.createEcKey();

    String clientName = "server 1";
    BitPay bitpay = new BitPay(key, clientName);

    if (!bitpay.clientIsAuthorized(BitPay.FACADE_MERCHANT))
    {
        // Get Merchant facade authorization code
        String pairingCode = bitpay.requestClientAuthorization(
            BitPay.FACADE_MERCHANT);

        // Signal the device operator that this client needs to
        // be paired with a merchant account.
        System.out.print("Info: Pair this client with your merchant account using the pairing Code: " + pairingCode);
        throw new BitPayException("Error:client is not authorized for Merchant facade");
    } …
Run Code Online (Sandbox Code Playgroud)

java maven maven-dependency

11
推荐指数
1
解决办法
318
查看次数

Spring SAML:在使用版本1.0.4.RELEASE作为maven依赖时无法找到工件

我试图使用spring-security-saml2-core-1.0.4.RELEASEmaven依赖项为我的项目,遇到两个问题mvn install:

  1. 失败"Could not find artifact xml-apis:xml-apis:jar:1.4 ... ".我还没有在Maven存储库和build.gradle文件中列出的存储库中找到1.4版本的xml-apis依赖.作为一种解决方法,我被迫在项目中添加略有不同版本的显式依赖:

    <dependency>
        <groupId>xml-apis</groupId>
        <artifactId>xml-apis</artifactId>
        <version>1.4.01</version>
        <scope>runtime</scope>
    </dependency>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 失败:"Could not find artifact org.opensaml:opensaml:jar:2.6.6 ..." and "Could not find artifact ca.juliusdavies:not-yet-commons-ssl:jar:0.3.17 ...".作为一种解决方法,我被迫添加显式的maven存储库,在那里我能够找到项目的工件:

    <repository>
        <id>alfresco</id>
        <name>Alfresco</name>
        <url>https://artifacts.alfresco.com/nexus/content/repositories/public/</url>
    </repository>
    <repository>
        <id>mulesoft</id>
        <name>Mulesoft</name>
        <url>http://repository.mulesoft.org/releases/</url>
    </repository>
    
    Run Code Online (Sandbox Code Playgroud)

是否可以在不声明显式依赖关系和存储库的情况下处理构建问题?

提前谢谢你,Artur.

maven-dependency spring-security-saml2

10
推荐指数
1
解决办法
2712
查看次数

了解 eclipse maven 依赖层次结构

我想了解多模块 maven 项目的依赖关系以及引用的 eclipse 依赖关系层次结构。

我确实理解得相当清楚,但是有些事情我根本无法理解。

下面是屏幕截图。

我不明白的事情是:

--> 从 1.0.2 开始管理 [编译}

--> 从 1.0.2 开始管理(因与 1.0.0 冲突而省略)[编译]

我确实在网上搜索过,但我在痕迹中得到了信息。任何人都可以帮助我理解它们的含义吗?

谢谢。

在此处输入图片说明

eclipse pom.xml maven maven-dependency

9
推荐指数
1
解决办法
3859
查看次数

如何在缺少 nvd 文件时忽略 Maven 依赖项检查失败

我今天尝试使用 Maven 发布插件执行我的项目的发布。由于dependency-check-maven插件尝试下载尚未上传的2020版CVD文件而失败:

无法下载元文件:https : //nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-2020.meta ; 收到 404 -- 未找到资源

NVD 数据馈送页面的简要阅读显示该文件尚未上传。
在此处输入图片说明

显然我可以等待大约 24 小时,这个问题可能会消失;但是,我仍然想知道如何覆盖此 URL 以在今天发布我的项目。我尝试了一些命令行选项,包括以下方面的变化:

mvn dependency-check:check -DcveUrlBase= https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-2019.json.gz

但是,它们仍然会导致错误。我知道我可以跳过此检查,但更愿意在 2020 年之前检查所有文件。

这个问题建议使用nist-data-mirror插件创建一个本地存储库,但与等待 24 小时相比,这似乎有很多开销。

是否有任何命令行或易于恢复的pom.xml编辑可以让我今天发布我的项目?

编辑:这已在插件站点报告为问题

maven maven-dependency maven-dependency-check-plugin

9
推荐指数
1
解决办法
5442
查看次数