Ich habe Probleme, Intellij den generierten Quellcode von antlr4 zu erkennen. Jeder Verweis auf den generierten Code wird als Fehler angezeigt, die Codevervollständigung funktioniert nicht, usw.
Ich verwende maven und das antlr4-maven-plugin, um den Code zu generieren. Mein Code, der auf den generierten Code verweist, kompiliert und baut unter maven gut auf. Der generierte Code befindet sich unter / target / generated-sources / antlr4, was Intellij erwartet.
Ich habe die üblichen Fixes wie Reimport Maven-Projekte, Update-Ordner, Cache ungültig, etc. versucht. Nichts davon scheint zu funktionieren.
Wer hat das schon mal gesehen? Gibt es eine Möglichkeit, auf die generierten Quellen direkt in Intellij zu zeigen?
Ich hatte, was ich denke, ein ähnliches Problem. Ich bin neu bei IntelliJ, also vermute ich etwas.
Ist der gen-Ordner in Ihrem Projekt braun (d. h. eine Ressource) oder blau (Quellcode)?
Ich konnte mein Projekt nicht dazu bringen, den generierten Code zu erkennen, bis ich den gen-Ordner als einen Quellcode registriert hatte, der den Quellcode enthielt.
Tut mir leid zu sagen, dass Sie vielleicht damit herumspielen müssen - ich kann mich nicht erinnern, wie ich es gemacht habe - aber alles war gut, nachdem ich das geändert habe.
Es stellt sich heraus, dass mein Problem mit den Vorlieben dieses Problem verursacht hat. Wenn jemand anderes dieses Problem hat:
Stellen Sie als v0rl0n zuerst sicher, dass der gen-Ordner als Quelle aufgeführt ist. Gehe zu Moduleinstellungen - & gt; Module - & gt; Quellen .
Schaue nach rechts für die blauen Quellordner . Stellen Sie sicher, dass Ihre generierten Quellordner aufgelistet sind (sie sollten ein [generiert] -Flag in der Zeile haben).
Wenn Ihr generiertes Quellverzeichnis dort aufgeführt ist und immer noch nicht erkannt wird, gehen Sie zu Einstellungen - & gt; Dateitypen Suchen Sie im Feld Dateien und Ordner ignorieren . Stellen Sie sicher, dass Sie nichts aufgelistet haben, das mit Ihrem generierten Quellenverzeichnis übereinstimmt.
In meinem Fall hatte ich target zu dieser Liste hinzugefügt, was mein Problem verursacht hat und es war wirklich schwer zu finden.
target/generated-sources/antlr4
ist nicht automatisch als Quellverzeichnis gekennzeichnet, sondern sein direktes Unterverzeichnis com.example
ist. Intellij Idea erkennt das richtige Paket für Klassen in target/generated-sources/antlr4/com.example
nicht.
Die Quelldatei *.g4
ist in src/main/antlr4/com.example
, aber eigentlich sollte sie src/main/antlr4/com/example
sein. Beachten Sie die /
. Sie haben wahrscheinlich vergessen, src/main/antlr4
als Quellverzeichnis in Idea zu markieren, und wenn Sie gedacht haben, dass Sie eine Paketstruktur erstellen, haben Sie tatsächlich nur ein einzelnes Verzeichnis namens com.example
erstellt.
Markieren Sie src/main/antlr4
als Quellverzeichnis, erstellen Sie die richtige Verzeichnisstruktur src/main/antlr4/com/example
. Neu erstellen.
Gehen Sie zu Projektstruktur - Module - Quellordner und suchen Sie target/generated-sources/antlr4/com.example
- klicken Sie auf Eigenschaften bearbeiten und setzen Sie Paketpräfix auf com.example
.
Anderes aber verwandtes Problem hier
Schritte, die für mich funktionierten:
Tags und Links intellij-idea antlr4