执行maven构建时,杰克逊依赖版本被覆盖 [英] Jackson dependency version being overridden when doing maven build
问题描述
我有一个完美的工作项目。我能够成功构建和部署。昨天作为开发的一部分,我不得不在我的项目中为Jackson jar添加以下maven依赖项,之后 mvn clean install
开始失败。
I had a perfectly working project. I was able to do a successful build and deployment. Yesterday as a part of development I had to add the following maven dependencies for Jackson jars in my project after which the mvn clean install
started to fail.
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.5.3</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.5.3</version>
</dependency>
我得到的错误信息是
[错误]无法在项目compass_app上执行目标:
无法解决项目的依赖关系
com.XXXXX.services:compass_app:jar:1.0-SNAPSHOT:收集失败
依赖于org.codehaus.jackson的拒绝:jackson-mapper-asl:jar:1.5.3 - >
org.codehaus.jackson:jackson-core-asl:jar:1.9.13:失败为org.codehaus.jackson读取
工件描述符:jackson-core-asl:j
r:1.9.13:无法传输工件
org.codehaus.jackson:jackson-core-asl: pom:1.9.13 from / to m-all
(http:// XXXX / archives / all)
:无法传输文件:
的http://XXXX/archives/all/org/codehaus/jackson/jackson-core-asl/1.9.13/jackson-core-asl-1.9.13.pom
。
返回代码是:500,ReasonPhrase:无法找到id的管理存储库
配置:npanXXXX-1.5.0-maestXXXX-33。 - > [帮助1]
[ERROR] Failed to execute goal on project compass_app: Could not resolve dependencies for project com.XXXXX.services:compass_app:jar:1.0-SNAPSHOT: Failed to collect depe dencies at org.codehaus.jackson:jackson-mapper-asl:jar:1.5.3 -> org.codehaus.jackson:jackson-core-asl:jar:1.9.13: Failed to read artifact descriptor for org.codehaus.jackson:jackson-core-asl:j r:1.9.13: Could not transfer artifact org.codehaus.jackson:jackson-core-asl:pom:1.9.13 from/to m-all (
http://XXXX/archives/all)
: Failed to transfer file:http://XXXX/archives/all/org/codehaus/jackson/jackson-core-asl/1.9.13/jackson-core-asl-1.9.13.pom
. Return code is: 500 , ReasonPhrase:Unable to find managed repository configuration for id:npanXXXX-1.5.0-maestXXXX-33. -> [Help 1]
我担心的是为什么版本1.9.13尝试下载时我没有在我的项目中的任何地方指定它
My concern is why is the version 1.9.13 attempted for a download when I have not specified it anywhere in my project
- 我的pom中只有一个杰克逊罐子的声明文件。
- 我尝试过做mvn -X clean install> install.txt。
关注痕迹可能会有所帮助。
Following pieces of trace may be helpful.
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
<artifact default-value="${project.artifact}"/>
<attachedArtifacts default-value="${project.attachedArtifacts}"/>
<createChecksum default-value="false">${createChecksum}</createChecksum>
<localRepository>${localRepository}</localRepository>
<packaging default-value="${project.packaging}"/>
<pomFile default-value="${project.file}"/>
<updateReleaseInfo default-value="false">${updateReleaseInfo}</updateReleaseInfo>
</configuration>
例外是。
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project compass_app: Could not resolve dependencies for project com.XXXX.services:compass_app:jar:1.0-SNAPSHOT: Failed to collect dependencies at org.codehaus.jackson:jackson-mapper-asl:jar:1.5.3 -> org.codehaus.jackson:jackson-core-asl:jar:1.9.13
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:220)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies(LifecycleDependencyResolver.java:127)
at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved(MojoExecutor.java:257)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:200)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.project.DependencyResolutionException: Could not resolve dependencies for project com.XXXX.services:compass_app:jar:1.0-SNAPSHOT: Failed to collect dependencies at org.codehaus.jackson:jackson-mapper-asl:jar:1.5.3 -> org.codehaus.jackson:jackson-core-asl:jar:1.9.13
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve(DefaultProjectDependenciesResolver.java:167)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:195)
... 22 more
任何帮助都会非常有帮助。提前谢谢。
Any assistance will be greatly helpful. thanks in advance.
参考文献: - 以下链接已被提及。
1. jersey和jackson maven依赖问题?
2. http:/ /maven.apache.org/ref/3.1.1/xref/org/apache/maven/artifact/resolver/DebugResolutionListener.html (了解maven的代码和工作方式)
3. http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
References :- The following links have already been referred. 1. jersey and jackson maven dependency issues? 2. http://maven.apache.org/ref/3.1.1/xref/org/apache/maven/artifact/resolver/DebugResolutionListener.html ( to understand the code and working of maven ) 3. http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
推荐答案
我担心的是为什么在
时尝试下载版本1.9.13我没有在我的项目中的任何地方指定它
My concern is why is the version 1.9.13 attempted for a download when I have not specified it anywhere in my project
请使用 mvn依赖:tree
(见:文档),以便您能够跟踪此版本的加载原因。
Please use mvn dependency:tree
(see: documentation) so that you will be able to track why this version is being loaded.
可能有点像传递依赖 。
这篇关于执行maven构建时,杰克逊依赖版本被覆盖的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!