title: Maven, Access denied to: http://repo1.maven.org/maven2
body: <p>I have just downloaded last version of Maven.</p>
  
  <p>And when i am trying to run</p>
  
  <blockquote>
    <p>mvn archetype:generate</p>
  </blockquote>
  
  <p>i get error message</p>
  
  <blockquote>
    <p>[WARNING] Error reading archetype catalog
    <a href="http://repo1.maven.org/maven2" rel="nofollow noreferrer">http://repo1.maven.org/maven2</a>
    org.apache.maven.wagon.authorization.AuthorizationException: Access
    denied to: <a href="http://repo1.maven.org/maven2" rel="nofollow noreferrer">http://repo1.maven.org/maven2</a> , 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(Unknown Source) at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at
    java.lang.reflect.Method.invoke(Unknown Source) 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] No archetype defined. Using maven-archetype-quickstart
    (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)</p>
  </blockquote>
  
  <p>I have not Proxy and internet works fine. Firewall is turned off. How to solve this problem ?</p>
  
  <p>Thx for your help.</p>
  
  <p>If we look to the class <a href="http://grepcode.com/file/repo1.maven.org/maven2/org.apache.maven.wagon/wagon-http-shared4/2.1/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java" rel="nofollow noreferrer">org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon</a>
  method fillInputData( InputData inputData ) we can see this:</p>
  
  <pre><code>public void fillInputData( InputData inputData )
         throws TransferFailedException, ResourceDoesNotExistException,AuthorizationException
      {
       ....
   HttpResponse response;
       ....
   statusCode = response.getStatusLine().getStatusCode();
       ....
   switch ( statusCode )
          {
              case HttpStatus.SC_OK:
                  break;
  
              case HttpStatus.SC_NOT_MODIFIED:
                  // return, leaving last modified set to original value so getIfNewer should return unmodified
                  return;
  
              case SC_NULL:
              {
                  TransferFailedException e =
                      new TransferFailedException( "Failed to transfer file: " + url + reasonPhrase );
                  fireTransferError( resource, e, TransferEvent.REQUEST_GET );
                  throw e;
              }
  
              case HttpStatus.SC_FORBIDDEN:    // &lt;---------THIS
                  fireSessionConnectionRefused();
                  throw new AuthorizationException( "Access denied to: " + url + reasonPhrase);
         ....
           }
  ...
  }
  </code></pre>
  
  <p><a href="http://pcsupport.about.com/od/findbyerrormessage/a/403error.htm" rel="nofollow noreferrer">So problem caused because we have HTTP 403 Forbidden error in response.</a>
  But i dont know what to do...</p>
  
  <hr>
  
  <p>So now we know that we are getting FORBIDDEN error because we have not User-Agent in HTTP request. <a href="https://stackoverflow.com/questions/18473398/maven-error-reading-archetype-catalog-not-behind-a-proxy/18526471#18526471">Thanx to Patouche</a></p>