Файл Groovy не компилируется в Intellij IDEA

У меня есть проект maven с java и groovy-тестами. В командной строке Maven compilation все тесты запущены, но в моем проекте IDEA (который создается автоматически, с помощью "AutoImport Maven projects", 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>

7 ответов


У меня была такая же проблема, и мне пришлось изменить в идее следующую настройку: Настройки - > компилятор - >шаблоны ресурсов

Он был !?*.java

Я изменил его в !?.java;!?.форма;!?.класса;!?.groovy;!?.scala;!?.flex;!?.kt;!?.clj по

было бы лучше, чтобы иметь возможность указать его в файле pom, хотя, но еще не нашли способ.


плагин GMaven предназначен только для компиляции maven. Идея использует компилятор Groovy, включенный в groovy-all jar. Для идеи, чтобы овладеть этим, добавьте зависимость проекта, например:

...
  <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>
...

решено путем удаления и создания с нуля проекта идеи (IPR-файл)


Как предложено выше Я превратил его в !?.java;!?.форма;!?.класса;!?.groovy;!?.scala;!?.flex;!?.kt;!?.clj по Эта настройка уже была доступна в моем intellij. Тем не менее код не генерировал исправлено путем установки - > компилятор и проверьте компиляцию независимого модуля параллельно, и после этого он был сгенерирован


пожалуйста, проверьте настройки / компилятор / шаблоны ресурсов. Похоже, что *.groovy как-то подходит там, и поэтому он копируется в вывод, а не компилируется.


вы должны изменить тип папки groovy файлов, чтобы сделать каталог в качестве исходного корня.


пожалуйста, измените тип папки groovy файлов в качестве исходного корня. Шаг для того же-щелкните правой кнопкой мыши на папке - > выберите опцию - 'Make Directory as' - > Source Root