Konfigurieren von IntelliJ Verwenden Groovy-Compiler Anstelle der Java-Compiler
In mein maven-Projekt, ich bin derzeit mischen sich meine Java-code mit einigen Groovy-code. Ich bin mit Groovy meist zu konstruieren, die Bohnen an dieser Stelle. Einige meiner Java-code verwendet Groovy beans direkt.
Ich so konfiguriert das Maven-Compiler-Plugin wie dieses:-
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<compilerId>groovy-eclipse-compiler</compilerId>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>2.8.0-01</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-batch</artifactId>
<version>2.1.5-03</version>
</dependency>
</dependencies>
</plugin>
Wenn ich meine testcases mit mvn test
es einwandfrei.
Jedoch, wenn ich die Testfälle direkt aus IntelliJ durch Rechtsklick auf die test-Datei und führen Sie es aus, ich bin immer "cannot find symbol" - Fehler auf der Groovy-Bohnen. Wenn ich Lesen Sie die Fehler-log, IntelliJ verwendet Java-compiler zu kompilieren mein Projekt vor dem ausführen der test... also die tests fehlschlagen.
Ich kann nicht scheinen, um herauszufinden, wie Sie anweisen, IntelliJ, immer die Groovy-compiler anstelle der Java-compiler.
Was sollte ich ändern, unter SDK, so dass Groovy-compiler verwendet wird? Ich habe versucht, das hinzufügen Groovy zugehörigen JAR-Dateien, aber ich habe andere Fehler.
UPDATE 1: Pro @Möwe Vorschlag
Ich Hinzugefügt groovy Gläser unter "Globale Bibliotheken":-
Wenn ich ausgeführt, die test-Datei direkt von IntelliJ, ich bin immer etwas grooviger Warnungen und ich bekomme immer noch den gleichen Fehler:-
Dank.
- Haben Sie eine Groovy-Framework-Unterstützung für Ihr Projekt? Versuchen Sie es hinzufügen, indem Sie mit der rechten Maustaste auf den Projektordner in der Projekt-Ansicht, und wählen Sie eine vorhandene oder erstellen Sie eine neue Groovy sdk. Auch wird es Groovy-Bibliothek im Modul-Abhängigkeit.
- Es gibt keine option für mich, dies zu tun. Ich ging zu "Projekt-SDK" unter "Projekt" - Einstellungen, wenn ich Sie neu hinzufügen "JDK" und Stelle es auf meine heruntergeladenen Groovy SDK, es erkennt nicht alles.
- Groovy hat keine getrennt SDK, zu finden sein. Versuchen, erstellen Sie eine gewöhnliche 'Global library', es ist das Symbol ändert sich, um Groovy-Symbol. Fügen Sie es zu Ihrem Modul, und es kann funktionieren.
- Unter "Globale Bibliotheken", es gibt nur diese Optionen: Java, JavaScript, Aus dem Maven-und ActionScript/Flex. Ich habe versucht Java-und Punkt-zu grooviger und das hat nicht funktioniert. Ich habe auch versucht Maven zeigt auf groovy-alle, und ich bekomme immer noch die gleichen 'kann nicht finden das symbol" - Fehler.
- Groovy-all ist für die Einbettung, es nicht zeigen wollte Intellij Idee, dass dies ist ein groovy-framework. In der Globalen Libraryes wählen Sie java -, Punkt-zu - $GROOVY_HOME/lib/ . Es sollte so Aussehen screenshot
- Ich habe meinen Beitrag aktualisiert... es hat nicht funktioniert für mich.
- Seltsam. Tut mir Leid, dass ich Ihnen nicht helfen kann. Es schauen, wie groovyc ausgeführt wird, weil es eine Warnung ausgegeben. Zur Zeit habe ich keine Ahnung, was Los ist. Wenn es ein groovy-Bohne, verwendet von java-ich schlage vor, Sie prüfen, Idee-generierten stubs, befindet sich auf meinem macbook bei $USER_HOME/Library/Caches/IdeaIC13/compile-server/..._81ea93a7/groovyStubs/groovy/java-production/SomeClass.java kann Es sein bug mit der Idee, stub-compiler. Wie besprochen hier JetBrains_DevNet
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte dieses problem mit der neuesten version von Intellij ideaIC-15.0.3-custom-jdk-gebündelt.dmg auf MAC 10.10.5, JDK 1.8.0_60.
Einschließlich alle Schritte für die Nachwelt...
groovy
mit sdkman:sdk install groovy 2.4.5
groovy 2.4.5
(wenn es nicht bereits Hinzugefügt wurde).!?*.java;!?*.groovy
zu!?*.groovy;!?*.java
Dies ist die Antwort von der IntelliJ-support-team am 2. Januar 2014 in Bezug auf dieses problem:-
Landete ich entfernen beide
@Immutable
und@Canonical
erstellen meiner eigenen Konstruktoren, aus 2 Gründen:-@Immutable
und@Canonical
.