我已经为我的POM添加了一个新的依赖项.
是否有一个简单的命令我可以运行将此依赖项下载到我的存储库?
mvnrepository通常列出每个依赖项的"版本"和"更新".
如果我们考虑以下示例,"+ - "和"\ - "符号之间的区别是什么,它们表示什么?
[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
我们的产品由许多相互依赖的Maven项目组成.所有这些Maven项目都汇集在一个项目中,提供最终产品.
Maven项目共享相同的生命周期.换句话说,他们不是由单独的团队管理,他们有明确的<dependency>变化来获取其他项目的新版本.相反,当有人在某个项目中更改某些内容时,结果应该直接进入最终产品,而无需进行其他更改.
我们使用Jenkins作为持续集成工具.
我们的主要愿望如下:
pom.xml文件.问题:使用Jenkins执行此操作的最佳方法是什么?
我们目前正在考虑使用Jenkins Pipeline插件来使用单个作业,该插件分析Maven依赖关系和SCM更改,决定需要构建什么以及以何种顺序构建,然后实际构建项目.
maven jenkins maven-module jenkins-workflow maven-dependency
我正在努力解决如何处理jar依赖地狱的问题.我有一个使用一些aws sdk的Maven-IntelliJ Scala项目.最近添加kinesis sdk引入了不兼容的Jackson版本.
我的问题是:我如何系统地解决Jar地狱的问题?
我理解类加载器以及maven如何在重复的Jars之间选择,但我仍然对解决问题的实际步骤感到茫然.
我此刻的尝试是基于反复试验,我在杰克逊的例子中概述了这里:
mvn dependency:tree用来确定我实际使用的Jackson版本(问题2:是否有一种自动方式询问maven正在使用哪个版本的jar,而不是梳理树输出?).mvn dependency:tree在添加Kinesis SDK之前和之后比较 输出,以检测mvn dependency:tree输出中的差异 ,并希望看看Jackson版本是否发生了变化.(问题3:当发生依赖性解析时,maven如何使用着色jar中的库?与其他任何一个相同?).最后,在比较树输出之后,我尝试在POM中明确添加最新的Jackson工作版本,以触发maven依赖解析链中的优先级.如果最新版本不起作用,我会添加下一个最新的lib,依此类推.
整个过程非常繁琐.除了我提出的具体问题外,我也很好奇其他人对这个问题的系统性方法.有没有人有他们使用的资源?
我有一个Web应用程序,其中依赖项引入两个名为的jar:
当我打包WAR时,我在WEB-INF/lib目录中都有这两个,我的问题是应用程序正在运行以及为什么我不会遇到任何问题,因为显然我在两个jar中都有相同的类,应该有问题对?
我想实现这个代码
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) 我试图使用spring-security-saml2-core-1.0.4.RELEASEmaven依赖项为我的项目,遇到两个问题mvn install:
失败"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)失败:"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 项目的依赖关系以及引用的 eclipse 依赖关系层次结构。
我确实理解得相当清楚,但是有些事情我根本无法理解。
下面是屏幕截图。
我不明白的事情是:
--> 从 1.0.2 开始管理 [编译}
--> 从 1.0.2 开始管理(因与 1.0.0 冲突而省略)[编译]
我确实在网上搜索过,但我在痕迹中得到了信息。任何人都可以帮助我理解它们的含义吗?
谢谢。
我今天尝试使用 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-dependency ×10
maven ×8
java ×2
pom.xml ×2
eclipse ×1
jenkins ×1
maven-2 ×1
maven-dependency-check-plugin ×1
maven-module ×1