2012-05-29 31 views
2

在POM为我的项目,我已经把下面的依赖关系:为什么Maven想要下载Groovy的_all_版本?

<dependency> 
    <groupId>org.codehaus.groovy</groupId> 
    <artifactId>groovy-all</artifactId> 
    <version>1.8.6</version> 
</dependency> 

而下面的编译器插件:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>2.4</version> 
    <configuration> 
     <compilerId>groovy-eclipse-compiler</compilerId> 
     <verbose>true</verbose> 
    </configuration> 
    <dependencies> 
     <dependency> 
      <groupId>org.codehaus.groovy</groupId> 
      <artifactId>groovy-eclipse-compiler</artifactId> 
      <version>2.6.0-01</version> 
     </dependency> 
    </dependencies> 
</plugin> 

所以我期望的Maven下载1.8.6罐子的Groovy ,但相反,它似乎试图每下载有史以来发布的瓶!

[WARNING] The POM for org.codehaus.groovy:groovy:jar:1.5.5-SNAPSHOT is missing, no dependency information available 
[WARNING] The POM for org.codehaus.groovy:groovy:jar:1.5.6-SNAPSHOT is missing, no dependency information available 
[WARNING] The POM for org.codehaus.groovy:groovy:jar:1.5.7-SNAPSHOT is missing, no dependency information available 
[WARNING] The POM for org.codehaus.groovy:groovy:jar:1.6-beta-1-SNAPSHOT is missing, no dependency information available 
[WARNING] The POM for org.codehaus.groovy:groovy:jar:1.6-beta-2-SNAPSHOT is missing, no dependency information available 
[WARNING] The POM for org.codehaus.groovy:groovy:jar:1.6-RC-1-SNAPSHOT is missing, no dependency information available 
[WARNING] The POM for org.codehaus.groovy:groovy:jar:1.6-RC-2-SNAPSHOT is missing, no dependency information available 
[WARNING] The POM for org.codehaus.groovy:groovy:jar:1.6.1-SNAPSHOT is missing, no dependency information available 
[WARNING] The POM for org.codehaus.groovy:groovy:jar:1.6.3-SNAPSHOT is missing, no dependency information available 
[WARNING] The POM for org.codehaus.groovy:groovy:jar:1.6.5-SNAPSHOT is missing, no dependency information available 
[WARNING] The POM for org.codehaus.groovy:groovy:jar:1.7-beta-1-SNAPSHOT is missing, no dependency information available 
[WARNING] The POM for org.codehaus.groovy:groovy:jar:1.7-rc-2-SNAPSHOT is missing, no dependency information available 

什么是造成这种奇怪的行为?

回答

2

请参见:groovy-eclipse-compiler-2.6.0-01.pom

<dependency> 
    <groupId>org.codehaus.groovy</groupId> 
    <artifactId>groovy-eclipse-batch</artifactId> 
<version>[1.7.10-02,1.7.10-99],[1.8.2-01,1.9.0)</version> 
</dependency> 

它需要所有版本。添加

<repository> 
     <id>codehaus-snapshots</id> 
     <name>Codehaus Snapshots</name> 
     <url>http://nexus.codehaus.org/snapshots/</url> 
     <releases> 
     <enabled>false</enabled> 
     </releases> 
     <snapshots> 
     <enabled>true</enabled> 
     </snapshots> 
</repository> 

如果您需要快照,

+0

嗯,你能澄清?是否需要所有这些版本才能编译任何版本的Groovy?我只对最新的(1.8.6)感兴趣。现在,由于它想要下载所有这些依赖关系,所以每一次构建都是永久的。 – Fylke

+0

默认情况下,maven想要下载所有缺失的依赖关系。在几乎所有的构建过程中都会下载快照(它会检查是否上传了新版本的快照)。如果你只需要1.8.6,尝试添加groovy-eclipse-batch部分到你的pom到你的版本的maven-compiler-plugin dependencies部分。有关范围问题,请参阅[Maven自动SNAPSHOT更新](http://stackoverflow.com/q/2358965/651140)。 –

0

我面临同样的问题,并与下面的解决它:

<repository> 
    <id>Codehaus.Snapshots</id> 
    <url>http://snapshots.repository.codehaus.org</url> 
    <snapshots> 
    <updatePolicy>never</updatePolicy> 
    <enabled>false</enabled> 
    </snapshots> 
</repository> 
相关问题