Uploaded image for project: 'Maven Archetype'
  1. Maven Archetype
  2. ARCHETYPE-366

Maven mirror consulted after, rather than instead of, archetypeRepository URL

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Won't Fix
    • 2.0
    • None
    • Generator
    • None
    • Ubuntu 10.04, JDK 6.

    Description

      I have a local Nexus instance running, with a mirror of Central, and in settings.xml:

      <mirror>
          <id>central</id>
          <mirrorOf>central</mirrorOf>
          <url>.../content/repositories/central/</url>
      </mirror>
      

      This works fine for normal Maven operations. However, archetype:generate tries to download from the public repo first. So when I am online, after typing this:

      rm -rf ~/.m2/repository/org/codehaus/mojo/archetypes test
      mvn -DarchetypeVersion=1.2 -Darchetype.interactive=false -DgroupId=test -DarchetypeArtifactId=osgi-archetype -DarchetypeRepository=http://repo1.maven.org/maven2/ -Dversion=1.0-SNAPSHOT -DarchetypeGroupId=org.codehaus.mojo.archetypes -Dbasedir=/tmp -Dpackage=test -DartifactId=test --batch-mode archetype:generate
      

      I see:

      [INFO] Archetype defined by properties
      Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/archetypes/osgi-archetype/1.2/osgi-archetype-1.2.jar
      Downloaded: http://repo1.maven.org/maven2/org/codehaus/mojo/archetypes/osgi-archetype/1.2/osgi-archetype-1.2.jar (4 KB at 8.7 KB/sec)
      Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/archetypes/osgi-archetype/1.2/osgi-archetype-1.2.pom
      Downloaded: http://repo1.maven.org/maven2/org/codehaus/mojo/archetypes/osgi-archetype/1.2/osgi-archetype-1.2.pom (947 B at 8.3 KB/sec)
      

      with no mention of Nexus; when I am offline:

      [INFO] Archetype defined by properties
      Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/archetypes/osgi-archetype/1.2/osgi-archetype-1.2.jar
      Downloading: http://localhost:6969/nexus/content/repositories/central/org/codehaus/mojo/archetypes/osgi-archetype/1.2/osgi-archetype-1.2.jar
      Downloaded: http://localhost:6969/nexus/content/repositories/central/org/codehaus/mojo/archetypes/osgi-archetype/1.2/osgi-archetype-1.2.jar (4 KB at 128.8 KB/sec)
      Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/archetypes/osgi-archetype/1.2/osgi-archetype-1.2.pom
      Downloading: http://localhost:6969/nexus/content/repositories/central/org/codehaus/mojo/archetypes/osgi-archetype/1.2/osgi-archetype-1.2.pom
      Downloaded: http://localhost:6969/nexus/content/repositories/central/org/codehaus/mojo/archetypes/osgi-archetype/1.2/osgi-archetype-1.2.pom (947 B at 57.8 KB/sec)
      

      once this resource is cached in the Nexus mirror repo. (Since the online command does not ask Nexus, it normally is not cached there and offline project creation simply fails; to force Nexus to cache it, I need to ask Maven to download it as a dep of something.)

      If I do not specify an explicit archetypeRepository then I get

      [INFO] Archetype repository missing. Using the one from [org.codehaus.mojo.archetypes:osgi-archetype:1.2] found in catalog remote
      

      and Nexus is consulted first, but this parameter is needed as a workaround for ARCHETYPE-344.

      One complicating factor with this example is that the 1.2 release of the archetype does not seem to be present in the Central index; I have no clue why. (It was released on February 15, i.e. more than three weeks ago, and my understanding is that the index is rebuilt weekly.) May not have anything to do with this bug, though.

      Attachments

        1. ARCHETYPE-366.diff
          1 kB
          Jesse N. Glick

        Issue Links

          Activity

            People

              Unassigned Unassigned
              jglick Jesse N. Glick
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: