java - Maven: "Error reading archetype catalog",不在代理后面

标签 java macos maven proxy

命令:

mvn archetype:generate -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -DgroupId=org.apache.solr -DartifactId=es-my-proj

错误(底部的完整堆栈):

...
[INFO] --- maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Batch mode
[WARNING] Error reading archetype catalog http://repo1.maven.org/maven2
org.apache.maven.wagon.authorization.AuthorizationException: Access denied to: http://repo1.maven.org/maven2 , ReasonPhrase:Denied Access.
    at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:928)
    ...

我所做的每次谷歌搜索都会得出以下答案之一,但都不适用:

  • 在代理后面 - 但我不在代理后面!
  • 2010 年使用 Maven 2.x 时出现一些错误,但我使用的是 Maven 3.0.5
  • 损坏的设置文件,但我什至没有 ~/.m2/settings.xml 文件

我检查过的其他内容:

  • 每次我都确保没有目录和 pom 文件等。
  • 还尝试添加 -DarchetypeRepository= http://repo2.maven.org/maven2但结果相同
  • “访问被拒绝”很奇怪 - 我可以从浏览器访问 repo1 和 repo2(尽管服务器说浏览当然已被禁用)
  • Maven 3.0.5、Oracle Java 7 (1.7.0_25),在 Mountain Lion (OS X 10.8.4) 上

它确实使用一些 1x 模板创建了一个项目,我不知道这是好是坏。

完整堆栈跟踪:

mvn archetype:generate -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -DgroupId=org.apache.solr -DartifactId=my-proj-name
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] >>> maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom >>>
[INFO] 
[INFO] <<< maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom <<<
[INFO] 
[INFO] --- maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Batch mode
[WARNING] Error reading archetype catalog http://repo1.maven.org/maven2
org.apache.maven.wagon.authorization.AuthorizationException: Access denied to: http://repo1.maven.org/maven2 , ReasonPhrase:Denied Access.
    at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:928)
    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.apache.maven.archetype.source.RemoteCatalogArchetypeDataSource.downloadCatalog(RemoteCatalogArchetypeDataSource.java:119)
    at org.apache.maven.archetype.source.RemoteCatalogArchetypeDataSource.getArchetypeCatalog(RemoteCatalogArchetypeDataSource.java:87)
    at org.apache.maven.archetype.DefaultArchetypeManager.getRemoteCatalog(DefaultArchetypeManager.java:216)
    at org.apache.maven.archetype.DefaultArchetypeManager.getRemoteCatalog(DefaultArchetypeManager.java:205)
    at org.apache.maven.archetype.ui.generation.DefaultArchetypeSelector.getArchetypesByCatalog(DefaultArchetypeSelector.java:200)
    at org.apache.maven.archetype.ui.generation.DefaultArchetypeSelector.selectArchetype(DefaultArchetypeSelector.java:71)
    at org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo.execute(CreateProjectFromArchetypeMojo.java:197)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    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:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
[WARNING] No archetype found in remote catalog. Defaulting to internal catalog
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.0
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: org.apache.solr
[INFO] Parameter: packageName, Value: org.apache.solr
[INFO] Parameter: package, Value: org.apache.solr
[INFO] Parameter: artifactId, Value: my-proj-name
[INFO] Parameter: basedir, Value: /Users/mbennett/dev
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: /Users/mbennett/dev/my-proj-name
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.563s
[INFO] Finished at: Tue Aug 27 11:47:28 PDT 2013
[INFO] Final Memory: 15M/206M
[INFO] ------------------------------------------------------------------------

最佳答案

Apache Maven 团队在他们的一项集成测试中遇到了同样的问题,请参阅相关的 message-thread . 因此,似乎在 8 月的最后一周,政策发生了变化,如果请求中没有用户代理,就无法获取这些 xml 文件。 Maven 设置中没有设置此值的选项,我也没有找到其他设置方法。

我可以确认 Maven-3.0.4 确实有效,但这个版本有一个 security issue .根据其他帖子,其他旧版本的 Maven 似乎也可以工作。

除非 Maven Central 更改其策略,否则这需要在下一个 Maven 版本中修复。

关于java - Maven: "Error reading archetype catalog",不在代理后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18473398/

相关文章:

macos - 简单的 HID OSX 应用程序

macos - 适用于 macOS 的动画应用程序图标

java - 强制执行 Maven 阶段

java - 如何返回具有 @Produces(MediaType.APPLICATION_JSON) 的响应字符串?

java - 用java读取乌尔都语文件

spring - mlibwrapper_jar 的 Maven 存储库不起作用

java - 如何让 2 个 JVM 相互通信

python - crontab/Launchd : OS X User Permissions, 环境变量,Python Virtualenvs

java - 多个服务器如何通过维护相同的用户 session 来处理 Web 应用程序请求。?

Maven - 发布多个子模块/Artifact