Groovy -Datei kompiliert nicht in der Intellij -Idee
-
25-10-2019 - |
Frage
Ich habe Maven -Projekt mit Java und Groovy -Tests. In der Befehlszeile Maven Compilation werden alle Tests ausgeführt, aber in meinem Idea-Projekt (das automatisch durch "Autoimport Maven-Projekte" erstellt wird, kopiert Idea Groovy-Dateien zu /Ziel- /Testklassen, ohne sie zu kompilieren.
Mein Gmaven -Plugin sieht aus wie
<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>
Lösung 3
Gelöst durch Entfernen und Erstellen von Kratzer -Ideenprojekt (IPR -Datei)
Andere Tipps
Ich hatte das gleiche Problem und musste in der Idee die folgende Einstellung ändern: Einstellungen-> Compiler-> Ressourcenmuster
Es war !?*.Java
Ich änderte es in!?.Java;!?.bilden;!?.Klasse;!?.Groovy;!?.Scala;!?.biegen;!?.Kt;!?.clj
Es wäre besser, es in der POM -Datei anzugeben, aber noch keinen Weg gefunden.
Das Gmaven -Plugin ist nur für die Maven -Zusammenstellung gedacht. Idea verwendet den in Groovy-All Jar enthaltenen Groovy-Compiler. Damit sich die Idee befindet, um eine Projektabhängigkeit hinzuzufügen, z. B.:
...
<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>
...
Bitte ändern Sie den Ordnertyp Groovy -Dateien als Quell root. Schritt für das Gleiche ist mit der rechten Maustaste auf Ordner -> Option auswählen -'Verzeichnis als' -> Quellenroot erstellen
Wie oben vorgeschlagen, habe ich es in geändert!?.Java;!?.bilden;!?.Klasse;!?.Groovy;!?.Scala;!?.biegen;!?.Kt;!?.cljDiese Einstellung war bereits in meinem Intellij verfügbar. Trotzdem generierte der Code nicht festgelegt, indem er eingestellt wurde,> Compiler und prüft das unabhängige Modul parallel und danach generiert er
Dies ähnelt der Antwort von @opal, ist jedoch für Tests relevant, wie in der Frage gestellt:
Gehen Sie in der IDE zu Dateien-> Projektstruktur-> Projekteinstellungen-> Module. Wählen Sie im Baumfilmbaum das SRC-> Test-> Groovy-Verzeichnis. Drücken Sie Alt+T, um das Groovy -Verzeichnis zur Testquellwurzel zu machen
Bitte überprüfen Sie die Einstellungen | Compiler | Ressourcenmuster. Es scheint, dass *.Groovy irgendwie dort passt und daher in die Ausgabe kopiert wird, anstatt zusammengestellt zu werden.
Sie müssen den Ordnertyp Groovy -Dateien ändern, um das Verzeichnis als Quellroot zu erstellen.