title: Deploying Maven dependencies to S3: No connector available
body: <p>I'm trying to use Amazon S3 to host my Maven artifacts. I've added the following to my pom.xml:</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;distributionManagement&gt;
      &lt;repository&gt;
          &lt;id&gt;maven.xxx.com-release&lt;/id&gt;
          &lt;name&gt;AWS S3 Release Repository&lt;/name&gt;
          &lt;url&gt;s3://maven.xxx.com/release&lt;/url&gt;
      &lt;/repository&gt;
      &lt;snapshotRepository&gt;
          &lt;id&gt;maven.xxx.com-snapshot&lt;/id&gt;
          &lt;name&gt;AWS S3 Snapshot Repository&lt;/name&gt;
          &lt;url&gt;s3://maven.xxx.com/snapshot&lt;/url&gt;
      &lt;/snapshotRepository&gt;
  &lt;/distributionManagement&gt;
  
  &lt;build&gt;
      &lt;extensions&gt;
          &lt;extension&gt;
              &lt;groupId&gt;org.springframework.build&lt;/groupId&gt;
              &lt;artifactId&gt;aws-maven&lt;/artifactId&gt;
              &lt;version&gt;5.0.0.RELEASE&lt;/version&gt;
          &lt;/extension&gt;
      &lt;/extensions&gt;
  &lt;/build&gt;
  </code></pre>
  
  <p>This is working fine and my snapshot is stored on S3. Now I'm trying to reference the artifact in another project:</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;repositories&gt;
      &lt;repository&gt;
          &lt;id&gt;maven.xxx.com-release&lt;/id&gt;
          &lt;name&gt;AWS S3 Release Repository&lt;/name&gt;
          &lt;url&gt;s3://maven.xxx.com/release&lt;/url&gt;
      &lt;/repository&gt;
      &lt;repository&gt;
          &lt;id&gt;maven.xxx.com-snapshot&lt;/id&gt;
          &lt;name&gt;AWS S3 Snapshot Repository&lt;/name&gt;
          &lt;url&gt;s3://maven.xxx.com/snapshot&lt;/url&gt;
          &lt;snapshots&gt;
              &lt;enabled&gt;true&lt;/enabled&gt;
          &lt;/snapshots&gt;
      &lt;/repository&gt;
  &lt;/repositories&gt;
  
  &lt;build&gt;
      &lt;extensions&gt;
          &lt;extension&gt;
              &lt;groupId&gt;org.springframework.build&lt;/groupId&gt;
              &lt;artifactId&gt;aws-maven&lt;/artifactId&gt;
              &lt;version&gt;5.0.0.RELEASE&lt;/version&gt;
          &lt;/extension&gt;
      &lt;/extensions&gt;
  &lt;/build&gt;
  </code></pre>
  
  <p>When I run <code>$ mvn deploy -X</code>, I get the following error:</p>
  
  <pre class="lang-java prettyprint-override"><code>Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T15:51:42+02:00)
  Maven home: /usr/local/Cellar/maven/3.2.2/libexec
  Java version: 1.8.0_11, vendor: Oracle Corporation
  Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre
  Default locale: en_US, platform encoding: UTF-8
  OS name: "mac os x", version: "10.9.4", arch: "x86_64", family: "mac"
  [INFO] Error stacktraces are turned on.
  [DEBUG] Reading global settings from /usr/local/Cellar/maven/3.2.2/libexec/conf/settings.xml
  [DEBUG] Reading user settings from /Users/philipp/.m2/settings.xml
  [DEBUG] Using local repository at /Users/philipp/.m2/repository
  [DEBUG] Using manager EnhancedLocalRepositoryManager with priority 10.0 for /Users/philipp/.m2/repository
  [INFO] Scanning for projects...
  [DEBUG] Skipped remote update check for com.xxx:parent-pom:1.4.11-SNAPSHOT/maven-metadata.xml, locally installed metadata up-to-date.
  [DEBUG] Skipped remote update check for com.xxx:parent-pom:1.4.11-SNAPSHOT/maven-metadata.xml, locally installed metadata up-to-date.
  [DEBUG] Skipped remote update check for com.xxx:parent-pom:1.4.11-SNAPSHOT/maven-metadata.xml, locally installed metadata up-to-date.
  [DEBUG] java.util.NoSuchElementException
        role: org.apache.maven.wagon.Wagon
    roleHint: s3
  org.codehaus.plexus.component.repository.exception.ComponentLookupException: java.util.NoSuchElementException
        role: org.apache.maven.wagon.Wagon
    roleHint: s3
      at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:264)
      at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:252)
      at org.eclipse.aether.internal.connector.wagon.PlexusWagonProvider.lookup(PlexusWagonProvider.java:33)
      at org.eclipse.aether.connector.wagon.WagonRepositoryConnector.lookupWagon(WagonRepositoryConnector.java:337)
      at org.eclipse.aether.connector.wagon.WagonRepositoryConnector.&lt;init&gt;(WagonRepositoryConnector.java:157)
      at org.eclipse.aether.connector.wagon.WagonRepositoryConnectorFactory.newInstance(WagonRepositoryConnectorFactory.java:159)
      at org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider.newRepositoryConnector(DefaultRepositoryConnectorProvider.java:139)
      at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:531)
      at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:436)
      at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:262)
      at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:239)
      at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:295)
      at org.apache.maven.project.ProjectModelResolver.resolveModel(ProjectModelResolver.java:171)
      at org.apache.maven.project.ProjectModelResolver.resolveModel(ProjectModelResolver.java:224)
      at org.apache.maven.model.building.DefaultModelBuilder.readParentExternally(DefaultModelBuilder.java:903)
      at org.apache.maven.model.building.DefaultModelBuilder.readParent(DefaultModelBuilder.java:755)
      at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:309)
      at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:452)
      at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:421)
      at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:385)
      at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:663)
      at org.apache.maven.DefaultMaven.getProjectsForMavenReactor(DefaultMaven.java:654)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:243)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
      at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
      at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:483)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
      at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
      at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
  Caused by: java.util.NoSuchElementException
      at org.eclipse.sisu.plexus.RealmFilter$FilteredItr.next(RealmFilter.java:118)
      at org.eclipse.sisu.plexus.RealmFilter$FilteredItr.next(RealmFilter.java:1)
      at org.eclipse.sisu.plexus.DefaultPlexusBeans$Itr.next(DefaultPlexusBeans.java:76)
      at org.eclipse.sisu.plexus.DefaultPlexusBeans$Itr.next(DefaultPlexusBeans.java:1)
      at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:260)
      ... 34 more
  [DEBUG] Writing tracking file /Users/philipp/.m2/repository/com/xxx/parent-pom/1.4.11-SNAPSHOT/parent-pom-1.4.11-20140722.193312-1.pom.lastUpdated
  [ERROR] The build could not read 1 project -&gt; [Help 1]
  org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs:
  [FATAL] Non-resolvable parent POM com.xxx:parent-pom:1.4.11-SNAPSHOT: Could not transfer artifact com.xxx:parent-pom:pom:1.4.11-20140722.193312-1 from/to maven.xxx.com-snapshot (s3://maven.xxx.com/snapshot): No connector available to access repository maven.xxx.com-snapshot (s3://maven.xxx.com/snapshot) of type default using the available factories WagonRepositoryConnectorFactory and 'parent.relativePath' points at wrong local POM @ line 9, column 10
  
      at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:405)
      at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:663)
      at org.apache.maven.DefaultMaven.getProjectsForMavenReactor(DefaultMaven.java:654)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:243)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
      at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
      at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:483)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
      at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
      at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
  [ERROR]   
  [ERROR]   The project com.xxx:base:1.3.2-SNAPSHOT (/Users/philipp/Documents/IntelliJ/base/pom.xml) has 1 error
  [ERROR]     Non-resolvable parent POM com.xxx:parent-pom:1.4.11-SNAPSHOT: Could not transfer artifact com.xxx:parent-pom:pom:1.4.11-20140722.193312-1 from/to maven.xxx.com-snapshot (s3://maven.xxx.com/snapshot): No connector available to access repository maven.xxx.com-snapshot (s3://maven.xxx.com/snapshot) of type default using the available factories WagonRepositoryConnectorFactory and 'parent.relativePath' points at wrong local POM @ line 9, column 10 -&gt; [Help 2]
  org.apache.maven.model.resolution.UnresolvableModelException: Could not transfer artifact com.xxx:parent-pom:pom:1.4.11-20140722.193312-1 from/to maven.xxx.com-snapshot (s3://maven.xxx.com/snapshot): No connector available to access repository maven.xxx.com-snapshot (s3://maven.xxx.com/snapshot) of type default using the available factories WagonRepositoryConnectorFactory
      at org.apache.maven.project.ProjectModelResolver.resolveModel(ProjectModelResolver.java:175)
      at org.apache.maven.project.ProjectModelResolver.resolveModel(ProjectModelResolver.java:224)
      at org.apache.maven.model.building.DefaultModelBuilder.readParentExternally(DefaultModelBuilder.java:903)
      at org.apache.maven.model.building.DefaultModelBuilder.readParent(DefaultModelBuilder.java:755)
      at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:309)
      at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:452)
      at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:421)
      at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:385)
      at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:663)
      at org.apache.maven.DefaultMaven.getProjectsForMavenReactor(DefaultMaven.java:654)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:243)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
      at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
      at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:483)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
      at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
      at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
  Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not transfer artifact com.xxx:parent-pom:pom:1.4.11-20140722.193312-1 from/to maven.xxx.com-snapshot (s3://maven.xxx.com/snapshot): No connector available to access repository maven.xxx.com-snapshot (s3://maven.xxx.com/snapshot) of type default using the available factories WagonRepositoryConnectorFactory
      at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:459)
      at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:262)
      at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:239)
      at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:295)
      at org.apache.maven.project.ProjectModelResolver.resolveModel(ProjectModelResolver.java:171)
      ... 22 more
  Caused by: org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact com.xxx:parent-pom:pom:1.4.11-20140722.193312-1 from/to maven.xxx.com-snapshot (s3://maven.xxx.com/snapshot): No connector available to access repository maven.xxx.com-snapshot (s3://maven.xxx.com/snapshot) of type default using the available factories WagonRepositoryConnectorFactory
      at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:546)
      at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:436)
      ... 26 more
  Caused by: org.eclipse.aether.transfer.NoRepositoryConnectorException: No connector available to access repository maven.xxx.com-snapshot (s3://maven.xxx.com/snapshot) of type default using the available factories WagonRepositoryConnectorFactory
      at org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider.newRepositoryConnector(DefaultRepositoryConnectorProvider.java:193)
      at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:531)
      ... 27 more
  [ERROR] 
  [ERROR] 
  [ERROR] For more information about the errors and possible solutions, please read the following articles:
  [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
  [ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException
  </code></pre>
  
  <p><strong>Could not transfer artifact com.xxx:parent-pom:pom:1.4.11-20140722.193312-1 from/to maven.xxx.com-snapshot (s3://maven.xxx.com/snapshot): No connector available to access repository maven.xxx.com-snapshot (s3://maven.xxx.com/snapshot) of type default using the available factories WagonRepositoryConnectorFactory and 'parent.relativePath' points at wrong local POM</strong></p>
  
  <p>So I can write artifacts (the credentials are obviously correct) but not read them? I must be overlooking something simple, but I can't really find it.</p>