8

我有 maven 项目 wit java 和 groovy 测试。在命令行 maven 编译中,所有测试都在运行,但是在我的 IDEA 项目中(由“AutoImport maven 项目”自动创建,IDEA 将 groovy 文件复制到 /target/test-classes 而不编译它们。

我的 gmaven 插件看起来像

    <plugin>
                <groupId>org.codehaus.gmaven</groupId>
                <artifactId>gmaven-plugin</artifactId>
                <version>1.3</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>generateStubs</goal>
                            <goal>compile</goal>
                            <goal>generateTestStubs</goal>
                            <goal>testCompile</goal>
                        </goals>
                        <configuration>
                            <providerSelection>1.7</providerSelection>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>org.codehaus.groovy</groupId>
                        <artifactId>groovy-all</artifactId>
                        <version>${groovy.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
4

8 回答 8

7

我遇到了同样的问题,不得不在 Idea 中更改以下设置:设置->编译器->资源模式

它是!?*.java

我改成了 !?.java;!?。形式;!?。班级;!?.groovy;!?.scala;!?。柔性;!?.kt;!? .clj

最好能够将其指定到 pom 文件中,但还没有找到方法。

于 2013-02-05T03:17:40.513 回答
5

GMaven 插件仅用于 Maven 编译。Idea 使用 groovy-all jar 中包含的 Groovy 编译器。为了让 Idea 掌握它,添加一个项目依赖项,例如:

...
  <groupId>yourproject</groupId>
  <artifactId>yourproject</artifactId>
  <version>1.0.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>org.codehaus.groovy</groupId>
      <artifactId>groovy-all</artifactId>
      <version>${groovy.version}</version>
    </dependency>
  </dependencies>
...
于 2011-11-29T12:46:40.377 回答
5

通过从头开始删除和创建 IDEA 项目(ipr 文件)解决

于 2011-12-01T11:16:27.880 回答
1

请将 groovy 文件的文件夹类型更改为 Source Root。同样的步骤是右键单击文件夹-> 选择选项-“将目录设为”-> 源根

于 2015-04-14T07:41:16.123 回答
0

如上所述,我将其更改为 !? .java;!?。形式;!?。班级;!?.groovy;!?.scala;!?。柔性;!?.kt;!? .clj 这个设置已经在我的 intellij 中可用。代码仍然没有生成通过设置->编译器修复它并并行检查编译独立模块,然后生成它

于 2018-04-05T06:27:02.330 回答
0

这类似于@Opal's answer,但与测试相关,如问题中所问:

在 IDE 中转到文件-> 项目结构-> 项目设置-> 模块。在项目文件树中选择 src->test->groovy 目录。按 Alt+T 使 groovy 目录成为测试源根目录

于 2019-09-03T11:08:45.743 回答
-1

请检查设置 | 编译器 | 资源模式。似乎 *.groovy 以某种方式适合那里,因此它被复制到输出中而不是被编译。

于 2011-11-29T19:27:46.110 回答
-2

您必须更改 groovy 文件的文件夹类型以使目录成为源根目录。

于 2015-04-14T07:27:35.430 回答