Groovy файл не компилируется в Intellij IDEA
У меня есть проект Maven с Java и отличными тестами. В компиляции maven из командной строки все тесты выполняются, но в моем проекте 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 ответов
Решается удалением и созданием с нуля проекта IDEA (файл ipr)
У меня была та же проблема, и мне пришлось изменить в Idea следующую настройку: Настройки-> Компилятор-> Шаблоны ресурсов
Это было !?*. Java
Я изменил это в !? .Джава;!? .form;!? .учебный класс;!? .groovy;!? .scala;!? .flex;!? .kt;!? .clj
Было бы лучше иметь возможность указать это в файле POM, но пока не нашли пути.
Плагин GMaven предназначен только для компиляции Maven. Идея использует Groovy-компилятор, включенный в пакет groovy-all. Чтобы 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>
...
Пожалуйста, измените тип папки groovy файлов на Source Root. Шаг для того же - щелкните правой кнопкой мыши по папке -> выберите опцию - "Сделать каталог как" -> Source Root
Как предложено выше, я изменил это ! .Джава;!? .form;!? .учебный класс;!? .groovy;!? .scala;!? .flex;!? .kt;!? .clj Этот параметр был уже доступен в моем intellij. Код по-прежнему не генерировался. Исправьте это с помощью Setting->Compiler и проверьте параллельный независимый модуль компиляции, после чего он был сгенерирован.
Это похоже на ответ @Opal, но актуально для тестов, как задано в вопросе:
В среде IDE перейдите в Файлы-> Структура проекта-> Настройки проекта-> Модули. В дереве файлов проекта выберите каталог src->test->groovy. Нажмите Alt+T, чтобы сделать каталог groovy корневым источником тестового кода.
Пожалуйста, проверьте настройки | Компилятор | Шаблоны ресурсов. Кажется, что *.groovy как-то там подходит, и поэтому он копируется в вывод, а не компилируется.
Вы должны изменить тип папки groovy файлов, чтобы сделать каталог в качестве исходного Root.