Dieses Projekt enthält eine Reihe von Bibliotheken, die einen Java 1.0 – Java 21 Parser mit erweiterten Analysefunktionen implementieren.
Unsere Hauptseite ist JavaParser.org
Unterstützen Sie dieses Projekt, indem Sie Sponsor werden! Werden Sie Sponsor. Ihre Spende trägt dazu bei, dass das Projekt erfolgreich weiterlebt und wächst.
Javaparser nutzt OpenCollective, um Geld zu sammeln.
Vielen Dank an unsere Sponsoren!
Die Projektbinärdateien sind in Maven Central verfügbar.
Wir empfehlen Benutzern dringend, Maven, Gradle oder ein anderes Build-System für ihre Projekte zu verwenden. Wenn Sie damit nicht vertraut sind, empfehlen wir einen Blick auf die Maven-Schnellstartprojekte (javaparser-maven-sample, javasymbolsolver-maven-sample).
Fügen Sie einfach Folgendes zu Ihrer Maven-Konfiguration hinzu oder passen Sie es an Ihr eigenes Abhängigkeitsmanagementsystem an.
Bitte beachten Sie beim Upgrade von 2.5.1 auf 3.0.0+ den Migrationsleitfaden
Maven :
< dependency >
< groupId >com.github.javaparser</ groupId >
< artifactId >javaparser-symbol-solver-core</ artifactId >
< version >3.26.2</ version >
</ dependency >
Gradle :
implementation 'com.github.javaparser:javaparser-symbol-solver-core:3.26.2'
Seit Version 3.5.10 enthält das JavaParser-Projekt den JavaSymbolSolver. Während JavaParser einen abstrakten Syntaxbaum generiert, analysiert JavaSymbolSolver diesen AST und ist in der Lage, die Beziehung zwischen einem Element und seiner Deklaration zu finden (z. B. könnte es sich bei einem Variablennamen um einen Parameter einer Methode handeln, der Informationen über seinen Typ und seine Position im AST liefert). , usw.).
Durch die Verwendung der oben genannten Abhängigkeit werden sowohl JavaParser als auch JavaSymbolSolver zu Ihrem Projekt hinzugefügt. Wenn Sie nur die Kernfunktionalität des Parsens von Java-Quellcode benötigen, um den generierten AST zu durchlaufen und zu bearbeiten, können Sie den Standardwert Ihres Projekts reduzieren, indem Sie nur JavaParser in Ihr Projekt einbinden:
Maven :
< dependency >
< groupId >com.github.javaparser</ groupId >
< artifactId >javaparser-core</ artifactId >
< version >3.26.2</ version >
</ dependency >
Gradle :
implementation 'com.github.javaparser:javaparser-core:3.26.2'
Seit Version 3.6.17 kann der AST in JSON serialisiert werden. Hierfür gibt es ein eigenes Modul:
Maven :
< dependency >
< groupId >com.github.javaparser</ groupId >
< artifactId >javaparser-core-serialization</ artifactId >
< version >3.26.2</ version >
</ dependency >
Gradle :
implementation 'com.github.javaparser:javaparser-core-serialization:3.26.2'
Wenn Sie den Quellcode des Projekts von GitHub ausgecheckt haben, können Sie das Projekt mit Maven erstellen, indem Sie Folgendes verwenden:
./mvnw clean install
Wenn Sie die gepackten JAR-Dateien aus den Quelldateien generieren möchten, führen Sie den folgenden Maven-Befehl aus:
./mvnw package
HINWEIS: Die JAR-Dateien für die beiden Module finden Sie unter:
javaparser/javaparser-core/target/javaparser-core-<version>.jar
javaparser-symbol-solver-core/target/javaparser-symbol-solver-core-<version>.jar
Wenn Sie die Quellen auschecken und das Projekt in einer IDE anzeigen möchten, ist es am besten, zunächst einige der Quelldateien zu generieren. Andernfalls erhalten Sie viele Kompilierungsbeschwerden in der IDE. ( ./mvnw clean install
erledigt dies bereits für Sie.)
./mvnw javacc:javacc
Wenn Sie den Code der AST-Knoten ändern, insbesondere wenn Sie Felder oder Knotenklassen hinzufügen oder entfernen, aktualisieren die Codegeneratoren einen Großteil des Codes für Sie. Das Skript run_metamodel_generator.sh
erstellt das Metamodell neu, das von den Codegeneratoren verwendet wird, die von run_core_generators.sh
ausgeführt werden. Stellen Sie sicher, dass javaparser-core
zumindest kompiliert wird, bevor Sie diese ausführen.
Hinweis : Befolgen Sie für die Eclipse-IDE die im Wiki beschriebenen Schritte: https://github.com/javaparser/javaparser/wiki/Eclipse-Project-Setup-Guide
JavaParser ist entweder unter den Bedingungen der LGPL-Lizenz oder der Apache-Lizenz verfügbar. Sie als Benutzer sind berechtigt, die Bedingungen zu wählen, unter denen JavaParser übernommen wird.
Einzelheiten zur LGPL-Lizenz finden Sie unter LICENSE.LGPL.
Einzelheiten zur Apache-Lizenz finden Sie unter LICENSE.APACHE.