IntelliJ IDEA - Fehler: java: package foo existiert nicht
Habe ich ein Projekt in IntelliJ IDEA, besteht sowohl aus Java-und Groovy-Klassen. Diese Klassen enthalten sind in den Ordner "groovy" und "java" habe ich markiert als Quell-Ordner. Ich habe viele Java-Klassen importieren von Klassen aus dem "groovy" source-Ordner, aber wenn ich versuche, diese ich ständig die Fehlermeldung "java: package foo existiert nicht". Paket "foo" existiert, die sich direkt unter den "groovy" - Ordner, damit diese tätig werden sollte. Ich habe auch eine visuelle unten. (Ich versuche zu vermeiden, sollten bestimmte details. Ich kann oder kann möglicherweise nicht arbeiten an einem streng geheimen Area 51-Projekt.)
Struktur visuell:
project-folder
|
-src
|
-main
|
-groovy (marked as source)
||
|-foo
| |
| -bar.groovy
-java (marked as source)
|
- java class that imports "foo.bar"
Fehler:
java: package foo existiert nicht
Dinge, die nicht funktionieren:
- Alles unter "Rahmen" und platzieren Sie Sie direkt unter "groovy" - Ordner. Ergebnisse in "Cannot resolve symbol-bar"
- Unmavenizing Projekt-und Umbau
In beiden Fällen:
Cannot resolve symbol 'foo'
Lassen Sie Maven aus ihm heraus, bis Sie können diese Arbeit machen. Die Eltern des /foo markiert werden, der als Quelle.
Tun groovy-Klassen haben die gleiche Art von problem mit Ihrer java-Importe?
Ich bin mir nicht sicher, was du meinst mit "Verlassen " Maven". Meinst du deaktivieren, Maven, bis diese behoben ist?
InformationsquelleAutor Ben Dohrmann | 2013-10-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie nicht haben, um "unmavenize" Ihr Projekt. (Obwohl ich verstehen, der Problemlösung, Argumentation für das was Sie tun so.) Ich vermute, das Problem ist ein beschädigter cache oder index. Gehen Sie zu Datei > Invalidate-Cache -. Wählen Sie, um den cache ungültig und dann Neustart IDEE. Lassen Sie IDEE, den index neu Projekt. Die Dinge sollten in Ordnung sein. Wenn nicht, überprüfen Sie, dass 1) Sie verwenden die neueste version von IDEE (12.1.5) und 2) die neueste version des Groovy-plug-in (Datei > Einstellungen > [IDE-Einstellungen] > Plugins).
Wenn Sie maven, müssen Sie identifizieren die "groovy" - Verzeichnis als eine zusätzliche source-Verzeichnis in Ihrem POM. Wenn Sie das nicht tun, wenn die IDEE, die re-Importe des Projekts (D. H. re-synchronisiert der POM), es sinkt die
groovy
Verzeichnis als Quelle, da standardmäßig maven hält es nicht für eine Quelle. Wie Sie dies tun, hängt davon ab, was plugin, das Sie verwenden. Da GMaven nicht mehr gepflegt wird, habe ich mit der groovy-eclipse-compiler plugin. Wenn Sie das plug-in das plug-in wird automatischsrc/main/groovy
als Quelle (solange es mindestens eine java-oder groovy-Datei insrc/main/java
). Jedoch, die IDEE funktioniert nicht, Holen Sie das Verzeichnis und fügen Sie Sie als Quelle ebenso. Das bedeutet, dass wenn Sie manuell (oder IDEE automatisch) wird ein maven-re-import, Ihresrc/main/groovy
Verzeichnis erhalten unmarkierten als Quelle, und die IDEE wird sich zeigen Fehler bei der Kompilierung. Sie müssen angeben, dass das zusätzliche Verzeichnis. Sie können die build-helper-maven-plugin zu tun, da die groovy-eclipse-compiler Dokumentation empfiehlt.Hier ist die Fleisch - & Kartoffeln von einem POM für eine funktionierende Java - /Groovy-Projekt:
<version>${groovy-eclipse-compiler.version}</version>
ist immer die FehlermeldungDependency org.codehaus.groovy:groovy-eclipse-compiler:2.8.0-01" not found
. (Es funktioniert in Eclipse.)Nur zur info, ich fest der POM Hinzugefügt, wo ich deinen code (noch nicht sicher, was falsch war), aber ein paar neue Fehler eingeführt wurden, von einem Kollegen, ich bin auf der Suche, in, dass, bevor Sie fortfahren.
InformationsquelleAutor Javaru
IntelliJ neu starten 🙂 Dumm, aber das ist was für mich gearbeitet. Keine Ahnung, was eigentlich das Problem verursacht, aber ich bin froh, dass es behoben. Hoffentlich hilft jemand anderem zu.
InformationsquelleAutor Snekse
Ich hatte das ähnliche problem. In meinem Fall, groovy compilation angemeldet RuntimeException als Warnung. Dies ist, weil der Keine passenden classloader gefunden, für das grab.
Nachdem ich das Problem behoben, groovy-Quellen wurden erfolgreich kompiliert und mit Java-Klassen in der Lage waren, Sie zu sehen, auf dem Klassenpfad.
InformationsquelleAutor suman j