我们的项目曾经有一个现已弃用的资源库jboss - hibernate bug explained here,我们更新了我们使用新存储库的每一个pom,它似乎工作得很好,直到今天,当我决定签出项目和在新机器上做一个干净的构建。
现在,我已经让maven抱怨它无法到达旧存储库。我已经在整个文件系统中检查了罪魁祸首并找不到它。但我仍然有这个
Failed to read artifact descriptor for org.jboss.aop:jboss-aop:jar:2.0.0-SNAPSHOT: Could not transfer artifact org.jboss.aop:jboss-aop:pom:2.0.0-SNAPSHOT from/to jboss (http://repository.jboss.com/maven2): Access denied to: http://repository.jboss.com/maven2/org/jboss/aop/jboss-aop/2.0.0-SNAPSHOT/jboss-aop-2.0.0-SNAPSHOT.pom -> [Help 1]
我不知道发生了什么,我的理论(除了这可能是一个x文件)是其他依赖设法以某种方式设法包括这个回购?我对吗?我怎么检查这个?
我尝试构建依赖树(mvn依赖:树)以查看谁是试图包含它的人,但由于整个项目无法构建我无法得到dep:tree~grin~ < / p>
有人可以解释一下这里到底出了什么问题吗?我该怎么调试呢? “BTW -e选项没有带来任何其他有用的信息,我仍在下面粘贴任何鹰眼专家:)”
到目前为止,我已经开始将整个〜/ .m2 /存储库从其他计算机复制到新计算机,希望这会成功。但是,我仍然希望maven能够从头开始下载和构建项目,因为它应该这样做
这是stacktrace
Caused by: org.sonatype.aether.resolution.ArtifactDescriptorException: Failed to read artifact descriptor for org.jboss.aop:jboss-aop:jar:2.0.0-SNAPSHOT
at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:282)
at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:172)
at org.sonatype.aether.impl.internal.DefaultDependencyCollector.process(DefaultDependencyCollector.java:419)
at org.sonatype.aether.impl.internal.DefaultDependencyCollector.process(DefaultDependencyCollector.java:533)
at org.sonatype.aether.impl.internal.DefaultDependencyCollector.process(DefaultDependencyCollector.java:533)
at org.sonatype.aether.impl.internal.DefaultDependencyCollector.process(DefaultDependencyCollector.java:533)
at org.sonatype.aether.impl.internal.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:243)
... 25 more
Caused by: org.sonatype.aether.resolution.ArtifactResolutionException: Could not transfer artifact org.jboss.aop:jboss-aop:pom:2.0.0-SNAPSHOT from/to jboss (http://repository.jboss.com/maven2): Access denied to: http://repository.jboss.com/maven2/org/jboss/aop/jboss-aop/2.0.0-SNAPSHOT/jboss-aop-2.0.0-SNAPSHOT.pom
at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:541)
at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:220)
at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:197)
at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:267)
... 31 more
Caused by: org.sonatype.aether.transfer.ArtifactTransferException: Could not transfer artifact org.jboss.aop:jboss-aop:pom:2.0.0-SNAPSHOT from/to jboss (http://repository.jboss.com/maven2): Access denied to: http://repository.jboss.com/maven2/org/jboss/aop/jboss-aop/2.0.0-SNAPSHOT/jboss-aop-2.0.0-SNAPSHOT.pom
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:949)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:940)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.flush(WagonRepositoryConnector.java:695)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.flush(WagonRepositoryConnector.java:689)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector.get(WagonRepositoryConnector.java:445)
at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:460)
... 34 more
Caused by: org.apache.maven.wagon.authorization.AuthorizationException: Access denied to: http://repository.jboss.com/maven2/org/jboss/aop/jboss-aop/2.0.0-SNAPSHOT/jboss-aop-2.0.0-SNAPSHOT.pom
at org.apache.maven.wagon.providers.http.LightweightHttpWagon.fillInputData(LightweightHttpWagon.java:119)
at org.apache.maven.wagon.StreamWagon.getInputStream(StreamWagon.java:116)
at org.apache.maven.wagon.StreamWagon.getIfNewer(StreamWagon.java:88)
at org.apache.maven.wagon.StreamWagon.get(StreamWagon.java:61)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.run(WagonRepositoryConnector.java:608)
at org.sonatype.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:64)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
提前致谢
更新08/10/2011
似乎问题与maven3有关。来自apple的最新更新推动了一些java更改,包括maven3。下载并设置maven2并执行完整的“mvn clean compile build”问题就消失了。
当我有关于这个问题的更多信息时,我会更新这个帖子
感谢所有回答并提出想法的人。非常感谢您的帮助。
答案 0 :(得分:2)
使用
代替依赖树mvn help:effective-pom
并搜索repo的输出。如果是多模块构建,请确保在顶层运行它以立即获取所有poms。如果那里没有提到,请仔细检查〜/ .m2 / settings.xml和$ M2_HOME / conf / settings.xml。它绝对是您文件系统中的某个位置。 Maven并不只是神奇地添加回购。
答案 1 :(得分:0)
如果你使用Eclipse,那么M2Eclipse的Dependency Graph是依赖的替代方法:树可以在不需要Maven对POM运行的情况下工作。
在查看repos的依赖POM时,您还需要查看这些POM的父/祖先。
答案 2 :(得分:0)
也许您应该重新审视指定的依赖关系 - org.jboss.aop:jboss-aop:jar:2.0.0-SNAPSHOT
。在jboss存储库中看起来像does not exist。您可以尝试使用2.0.0.GA
。
答案 3 :(得分:0)
你“用新的存储库更新了每一个pom ......”不要将存储库放在你的poms中。
http://www.sonatype.com/people/2009/02/why-putting-repositories-in-your-poms-is-a-bad-idea/
我怀疑Maven正试图点击那个repo,因为它在传递依赖的pom中被引用(Maven 3使用稍微不同的依赖性解析而不是Maven 2),否则可能会有某些东西在compatibility notes中关于影响您的存储库。