Maven dependency hell-以前删除的存储库在我的构建过程中出现

Maven dependency hell-以前删除的存储库在我的构建过程中出现,maven,dependencies,Maven,Dependencies,我们的项目以前有一个存储库,现在已经不推荐了,我们用新的存储库更新了我们所有的pom,直到今天,它似乎工作得很好,当时我决定签出项目并在一台新机器上进行干净的构建 现在,我让maven抱怨它无法访问旧存储库。我在整个文件系统中搜索了罪犯,但找不到。但我还是有这个 Failed to read artifact descriptor for org.jboss.aop:jboss-aop:jar:2.0.0-SNAPSHOT: Could not transfer artifact org.jbo

我们的项目以前有一个存储库,现在已经不推荐了,我们用新的存储库更新了我们所有的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 dependency:tree),看看谁是试图包含它的人,但由于整个项目无法构建,我无法获得dep:tree~grin~

有人能解释一下这里到底出了什么问题吗?如何调试它?“顺便说一句-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)
提前谢谢

2011年10月8日更新

似乎这个问题与maven3有关。苹果的上一次更新推动了一些java更改,包括maven3。下载并设置maven2并执行完整的“mvn干净编译构建”后,问题消失了

当我有关于这个问题的更多信息时,我会更新这个线程


感谢所有回答和提出想法的人。非常感谢您的帮助。

使用

mvn help:effective-pom

然后搜索回购协议的输出。如果是多模块构建,请确保在顶层运行它,以便一次获得所有POM。如果没有提到,请仔细检查~/.m2/settings.xml和$m2_HOME/conf/settings.xml。它肯定在你的文件系统中的某个地方。Maven不仅仅是神奇地添加了repo。

如果您使用Eclipse,M2Eclipse是依赖关系的另一种选择:树可能不需要Maven运行POM就可以工作


在查看repo的依赖项pom时,您还需要查看这些pom的父级/祖先级。

也许您应该重新查看指定的依赖项-
org.jboss.aop:jboss aop:jar:2.0.0-SNAPSHOT
。它看起来像是在jboss存储库中。你可以试试
2.0.0.GA

你“用新的存储库更新了每个pom”?不要将存储库放在POM中


我怀疑Maven试图攻击该repo,因为它是在可传递依赖项的pom中引用的(Maven 3使用的依赖项解析与Maven 2稍有不同),或者关于存储库中的某些内容可能会影响您。

您的~/.m2/settings.xml中的存储库是否覆盖了整个文件系统?我认为您遗漏了一些内容,因为这将在pom.xml文件(通常为顶级)或~/.m2下的settings.xml文件中指定。仔细检查一下?@digitaljoel不,不在那个里,只在服务器部分填写了我的一个帐户的凭据servers@SingleShot好吧,不是整个FS,我得把它收回,而是整个项目目录。grep-nHr“repository.jboss.com”*返回0我遇到了完全相同的问题。但是,我无法切换回Maven 2。你找到另一个解决方案了吗?谢谢!,很好的方法,但不幸的是,它没有显示出具体的回购协议。只有我们在repository.jboss.org/nexusDid中替换它的那一个你检查了所有的
settings.xml
s?yeap,~/.m2/处的那一个只有服务器定义凭据,maven home安装处的那一个是默认的,根本没有提到“jboss.com”。我错过了其他的吗?今晚我要把整个磁盘都刷一遍,一定要在什么地方提到!thx很好的尝试,但是由于项目没有编译eclipse,所以它显示为空