【问题标题】:m2eclipse can't resolve archetypes from nexusm2eclipse 无法解析来自 nexus 的原型
【发布时间】:2011-09-10 00:40:09
【问题描述】:

在我们公司,我们使用的是本地 nexus 存储库。如果我现在尝试使用 Eclipse 项目向导(已安装 M2Eclipse 0.12.1)创建一个新的 Maven 项目,我总是会从 nexus 收到 503 错误。

org.eclipse.core.runtime.CoreException: Could not resolve artifact
    at org.maven.ide.eclipse.internal.embedder.MavenImpl.resolve(MavenImpl.java:577)
    at org.maven.ide.eclipse.internal.project.ProjectConfigurationManager.resolveArchetype(ProjectConfigurationManager.java:526)
    at org.maven.ide.eclipse.internal.project.ProjectConfigurationManager.createArchetypeProject(ProjectConfigurationManager.java:437)
    at org.maven.ide.eclipse.wizards.MavenProjectWizard$5.runInWorkspace(MavenProjectWizard.java:279)
    at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Contains: Could not transfer artifact org.apache.maven.archetypes:maven-archetype-quickstart:pom:1.0-alpha-4 from/to nexus (http://vm-nexus-slx.heuboe.hbintern:8080/nexus/content/groups/public): Failed to transfer http://vm-nexus-slx.heuboe.hbintern:8080/nexus/content/groups/public/org/apache/maven/archetypes/maven-archetype-quickstart/1.0-alpha-4/maven-archetype-quickstart-1.0-alpha-4.pom. Error code 503, Service Unavailable
    org.sonatype.aether.transfer.ArtifactTransferException: Could not transfer artifact org.apache.maven.archetypes:maven-archetype-quickstart:pom:1.0-alpha-4 from/to nexus (http://vm-nexus-slx.heuboe.hbintern:8080/nexus/content/groups/public): Failed to transfer http://vm-nexus-slx.heuboe.hbintern:8080/nexus/content/groups/public/org/apache/maven/archetypes/maven-archetype-quickstart/1.0-alpha-4/maven-archetype-quickstart-1.0-alpha-4.pom. Error code 503, Service Unavailable
        at org.sonatype.aether.connector.async.AsyncRepositoryConnector$3.wrap(AsyncRepositoryConnector.java:1413)
        at org.sonatype.aether.connector.async.AsyncRepositoryConnector$3.wrap(AsyncRepositoryConnector.java:1404)
        at org.sonatype.aether.connector.async.AsyncRepositoryConnector$GetTask.flush(AsyncRepositoryConnector.java:895)
        at org.sonatype.aether.connector.async.AsyncRepositoryConnector$GetTask.flush(AsyncRepositoryConnector.java:889)
        at org.sonatype.aether.connector.async.AsyncRepositoryConnector.get(AsyncRepositoryConnector.java:276)
        at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:438)
        at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:214)
        at org.sonatype.aether.impl.internal.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:296)
        at org.maven.ide.eclipse.internal.embedder.MavenImpl.resolve(MavenImpl.java:555)
        at org.maven.ide.eclipse.internal.project.ProjectConfigurationManager.resolveArchetype(ProjectConfigurationManager.java:526)
        at org.maven.ide.eclipse.internal.project.ProjectConfigurationManager.createArchetypeProject(ProjectConfigurationManager.java:437)
        at org.maven.ide.eclipse.wizards.MavenProjectWizard$5.runInWorkspace(MavenProjectWizard.java:279)
        at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: org.sonatype.aether.connector.async.TransferException: Failed to transfer http://vm-nexus-slx.heuboe.hbintern:8080/nexus/content/groups/public/org/apache/maven/archetypes/maven-archetype-quickstart/1.0-alpha-4/maven-archetype-quickstart-1.0-alpha-4.pom. Error code 503, Service Unavailable

使用集成构建或将安装作为“run-as”任务运行都可以很好地解决“正常”工件。

在解决这个问题之前我很短。

欢迎所有想法。

提前谢谢

JayBee

【问题讨论】:

  • nexus 日志中发生了什么有趣的事情?
  • 无关联日志。从命令行创建一个 Maven 项目是可行的。看起来像是 eclipse (3.6) 或 m2eclipse 方面的问题。
  • 如果您在浏览器中访问http://vm-nexus-slx.heuboe.hbintern:8080/nexus/content/groups/public/org/apache/maven/archetypes/maven-archetype-quickstart/1.0-alpha-4/maven-archetype-quickstart-1.0-alpha-4.pom,它会起作用吗?
  • 是的,使用浏览器读取 URL 可以,即使我使用 eclipse 的内置浏览器。
  • 只有你,还是所有用户?您可以尝试将全局存储库设置为“启用完整索引”(在“Maven 存储库”视图中)

标签: eclipse maven m2eclipse nexus


【解决方案1】:

到目前为止,我发现 m2eclipse 正在使用 .m2/settings.xml 中指定的代理,但如果重新定义原型,它会忽略 nonProxyHosts。

我向 m2eclipse 项目提交了一份错误报告: https://bugs.eclipse.org/bugs/show_bug.cgi?id=348893

感谢您的帮助。

【讨论】:

    【解决方案2】:

    我们(也就是我的团队)也遇到了这个问题。命令行 Maven 就像一个魅力,在 Eclipse 中,我们通过 Maven 获得了一堵红墙(我们通过我们的 Nexus 代理所有依赖项)。

    然而,我注意到,一旦我将 m2eclipse 设置为离线模式,它就会找到所有依赖项。由于我经常在命令行中构建,因此以这种方式解决新的依赖关系对我来说不是问题(对某些人来说仍然可能很烦人)。

    【讨论】:

      【解决方案3】:

      Eclipse -> 窗口 -> 首选项 -> Maven

      取消选中该选项 - 不要自动更新远程存储库的依赖项。

      这应该可以解决问题。

      【讨论】:

        猜你喜欢
        • 2023-03-19
        • 2011-10-04
        • 1970-01-01
        • 2023-03-23
        • 1970-01-01
        • 2011-07-23
        • 1970-01-01
        • 2013-03-17
        相关资源
        最近更新 更多