3

我有工作 maven 2 设置,它编译用 groovy 编写的 jUnit 测试。java 和 groovy 测试都位于 /src/test/java

查看 pom.xml 的快照

<plugin>
    <groupId>org.codehaus.gmaven</groupId>
    <artifactId>gmaven-plugin</artifactId>
    <version>1.3</version>
    <executions>
        <execution>
        <id>testCompile</id>
        <goals>
            <goal>testCompile</goal>
        </goals>
        <configuration>
            <sources>
                <fileset>
                    <directory>${pom.basedir}/src/test/java</directory>
                    <includes>
                        <include>**/*.groovy</include>
                    </includes>
                </fileset>
            </sources>
        </configuration>
        </execution>
    </executions>
</plugin>

<dependency>
    <groupId>org.codehaus.groovy</groupId>
    <artifactId>groovy</artifactId>
    <version>1.7.5</version>
    <scope>test</scope>
</dependency>

当我升级到插件版本 1.5 和 groovy 2.1.0 时,* / .groovy 文件被忽略。有没有人遇到过这个问题?

4

4 回答 4

4

我找到了这个页面https://confluence.atlassian.com/display/CLOVER/Compiling+Groovy+with+GMaven+plugin

请注意,您必须将 Groovy 类和测试分别放在src/main/groovy和下src/test/groovy

基于该页面的以下配置似乎有效:

        <!-- Groovy and Maven https://confluence.atlassian.com/display/CLOVER/Compiling+Groovy+with+GMaven+plugin -->
        <plugin>
            <groupId>org.codehaus.gmaven</groupId>
            <artifactId>gmaven-plugin</artifactId>
            <version>${gmaven.version}</version>
            <configuration>
                <providerSelection>2.0</providerSelection>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.codehaus.gmaven.runtime</groupId>
                    <artifactId>gmaven-runtime-2.0</artifactId>
                    <version>${gmaven.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.codehaus.groovy</groupId>
                    <artifactId>groovy-all</artifactId>
                    <version>${groovy.version}</version>
                </dependency>
            </dependencies>
            <executions>
                <execution>
                    <goals>
                        <goal>generateStubs</goal>
                        <goal>compile</goal>
                        <goal>generateTestStubs</goal>
                        <goal>testCompile</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

当然还有依赖关系

    <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy-all</artifactId>
        <version>${groovy.version}</version>
    </dependency>

在属性中

<properties>
    <gmaven.version>1.5</gmaven.version>
    <groovy.version>2.1.8</groovy.version>
</properties>
于 2013-10-23T10:41:57.210 回答
1

好的,此配置适用于 maven 2。

<plugin>
    <groupId>org.codehaus.gmaven</groupId>
        <artifactId>gmaven-plugin</artifactId>
        <version>1.4</version>
        <configuration>
            <providerSelection>2.0</providerSelection>
            <sourceEncoding>UTF-8</sourceEncoding>
        </configuration>
        <executions>
            <execution>
                <goals>
                    <goal>testCompile</goal>
                </goals>
                <configuration>
                    <sources>
                        <fileset>
                            <directory>${pom.basedir}/src/test/java</directory>
                            <includes>
                                <include>**/*.groovy</include>
                            </includes>
                        </fileset>
                    </sources>
                </configuration>
            </execution>
        </executions>
</plugin>

<dependency>
    <groupId>org.codehaus.groovy</groupId>
    <artifactId>groovy</artifactId>
    <version>2.0.0</version>
    <scope>test</scope>
</dependency>
于 2013-02-22T13:56:04.867 回答
1

我遇到了同样的问题,但降级到 gmaven 1.4 解决了这个问题(使用 groovy-all 2.3.2)

于 2014-06-13T11:47:36.963 回答
1

首先,每个 GMaven 提供程序都针对特定版本的 Groovy 进行编译,因此如果 Groovy 在点发布时破坏了某些东西,可能会出现问题。其次,不再维护 GMaven(这就是为什么您看不到任何更新 Groovy 版本的提供程序的原因)。我建议切换到GMavenPlusMaven 的 Groovy-Eclipse 编译器插件

于 2014-06-13T20:03:30.893 回答