2008-08-13

Maven 2 Mirror的陷阱

Maven 2的安装和使用虽然不是一点即用,但也不是很复杂。然而,这两天我新装Maven,刚刚过了mvn -version,尝试create maven project就出问题了。问题详情如下。

D:\mavenSample>mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app

[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] org.apache.maven.plugins: checking for updates from central
[INFO] org.codehaus.mojo: checking for updates from central
[INFO] artifact org.apache.maven.plugins:maven-archetype-plugin: checking for updates from central
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] The plugin 'org.apache.maven.plugins:maven-archetype-plugin' does not exist or no valid version could be found
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3 seconds
[INFO] Finished at: Wed Mar 19 14:26:49 CST 2008
[INFO] Final Memory: 1M/2M
[INFO] ------------------------------------------------------------------------

开始以为是internet 代理设置有问题。网上也有帖子这么说。可是换到ADSL后,不用代理了,问题仍然存在。几经周折后发现,原因在于我画蛇添足多加了几个镜像,其中有的镜像没有同步更新maven库。经过测试,如下maven 镜像工作正常:

<mirror>
 <id>ibiblio.org</id>
 <name>ibiblio Mirror of http://repo1.maven.org/maven2/</name>
 <url>http://mirrors.ibiblio.org/pub/mirrors/maven2</url>
 <mirrorOf>central</mirrorOf>
 <!-- United States, North Carolina -->
</mirror>

<mirror>
 <id>redv.com</id>
 <url>http://mirrors.redv.com/maven2</url>
 <mirrorOf>central</mirrorOf>
 <!-- Shanghai, China , Very fast-->
</mirror>

<mirror>
 <id>dotsrc.org</id>
 <url>http://mirrors.dotsrc.org/maven2</url>
 <mirrorOf>central</mirrorOf>
 <!-- Denmark -->
</mirror>

<mirror>
 <id>sunsite.dk</id>
 <url>http://mirrors.sunsite.dk/maven2</url>
 <mirrorOf>central</mirrorOf>
 <!-- Denmark -->
</mirror>

<mirror>
 <id>skynet.be</id>
 <url>http://maven2.mirrors.skynet.be/pub/maven2</url>
 <mirrorOf>central</mirrorOf>
 <!-- Belgium -->
</mirror>

<mirror>
 <id>cica.es</id>
 <url>http://ftp.cica.es/mirrors/maven2</url>
 <mirrorOf>central</mirrorOf>
 <!-- Spain, Sevilla -->
</mirror>

<!-- these just point to ibiblio.org -->
<mirror>
 <id>ibiblio.net</id>
 <name>ibiblio.net Mirror of http://repo1.maven.org/maven2/</name>
 <url>http://www.ibiblio.net/pub/packages/maven2</url>
 <mirrorOf>central</mirrorOf>
 <!-- United States, North Carolina Fast-->
</mirror>

而下面的Maven镜像都有问题。

<mirror> 
 <id>planetmirror</id> 
 <name>Australian Mirror of http://repo1.maven.org/maven2/</name> 
 <url>http://public.planetmirror.com/maven2/</url> 
 <mirrorOf>central</mirrorOf> 
</mirror> 
<mirror> 
 <id>lsu.edu</id> 
 <url>http://ibiblio.lsu.edu/main/pub/packages/maven2</url> 
 <mirrorOf>central</mirrorOf> 
 <!-- United States, Louisiana --> 
</mirror> 
<mirror> 
 <id>sateh.com</id> 
 <url>http://maven.sateh.com/repository</url> 
 <mirrorOf>central</mirrorOf> 
 <!-- The Netherlands, Amsterdam --> 
</mirror> 
<mirror> 
 <id>ggi-project.org</id> 
 <url>http://ftp.ggi-project.org/pub/packages/maven2</url> 
 <mirrorOf>central</mirrorOf> 
 <!-- The Netherlands, Amsterdam --> 
</mirror>

没有评论: