未能在Spock示例项目中找到org.spockframework:spock-core:jar:1.0-groovy-2.3-SNAPSHOT

时间:2014-10-27 20:17:45

标签: groovy maven-3 spock gmaven

尝试使用Spock通过GMaven(Maven 3.1.1)和Groovy 2.3支持,我很难获得SNAPSHOT依赖。即使我尝试运行具有类似依赖关系的Spock Example项目,我似乎也有同样的错误。

<dependency>
    <groupId>org.spockframework</groupId>
    <artifactId>spock-core</artifactId>
    <version>1.0-groovy-2.3-SNAPSHOT</version>
    <scope>test</scope>
</dependency>

我有像Spock Example一样指定的SNAPSHOT存储库:

<repositories>
    <!-- Only required if a snapshot version of Spock is used -->
    <repository>
        <id>spock-snapshots</id>
        <url>http://oss.sonatype.org/content/repositories/snapshots/</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

但即使我为Spock Example运行mvn clean test,我也会得到:

错误]无法在项目spock上执行目标 - 示例:无法解析项目org.spockframework的依赖项:spock-example:jar:1.0-SNAPSHOT:找不到org.spockframework:spock-core:jar:1.0- groovy-2.3-SNAPSHOT in缓存在本地存储库中,在nexus_sprn的更新间隔过去或强制更新之前,不会重新尝试解析 - &gt; [帮助1]

如果我只使用0.7-groovy-2.0版本,但是我想要Groovy 2.3,因为看起来@CompileStatic在我的Groovy 2.0项目中无效。

编辑:

注意在构建失败之前发生警告:

[警告] org.spockframework的POM:spock-core:jar:缺少1.0-groovy-2.3-SNAPSHOT,没有依赖信息

1 个答案:

答案 0 :(得分:0)

因此,根据Niederwiesser先生的评论,我发现当前项目所需的settings.xml使用的镜像不知道Spock SNAPSHOT的位置。除了重新配置我公司的代理设置外,我还必须在全局settings.xml中执行以下操作,以使其不使用镜像。

<mirrors>
    <mirror>
        <id>nexus_sprn</id>
        <mirrorOf>*,!nexus_public,!project-lib-dir,!spock-snapshots</mirrorOf>
        <url>MIRROR_URL_REMOVED</url>
    </mirror>
</mirrors>

...

<repository>
    <id>spock-snapshots</id>
    <url>http://oss.sonatype.org/content/repositories/snapshots/</url>
    <snapshots>
        <enabled>true</enabled>
    </snapshots>
</repository>

这里不确定礼仪是否正确,但我将在此留下这个答案以供将来使用,除非普遍的共识是不必要的。