Ce projet contient un ensemble de bibliothèques implémentant un analyseur Java 1.0 - Java 21 avec des fonctionnalités d'analyse avancées.
Notre site principal est sur JavaParser.org
Soutenez ce projet en devenant sponsor ! Devenez parrain. Votre don aidera le projet à vivre et à grandir avec succès.
Javaparser utilise OpenCollective pour collecter de l'argent.
Merci à nos sponsors !
Les binaires du projet sont disponibles dans Maven Central.
Nous conseillons fortement aux utilisateurs d'adopter Maven, Gradle ou un autre système de build pour leurs projets. Si vous ne les connaissez pas, nous vous suggérons de jeter un œil aux projets de démarrage rapide Maven (javaparser-maven-sample, javasymbolsolver-maven-sample).
Ajoutez simplement ce qui suit à votre configuration maven ou adaptez-vous à votre propre système de gestion des dépendances.
Veuillez vous référer au Guide de migration lors de la mise à niveau de 2.5.1 vers 3.0.0+
Maven :
< dependency >
< groupId >com.github.javaparser</ groupId >
< artifactId >javaparser-symbol-solver-core</ artifactId >
< version >3.26.2</ version >
</ dependency >
Graduation :
implementation 'com.github.javaparser:javaparser-symbol-solver-core:3.26.2'
Depuis la version 3.5.10, le projet JavaParser inclut JavaSymbolSolver. Tandis que JavaParser génère un arbre de syntaxe abstraite, JavaSymbolSolver analyse cet AST et est capable de trouver la relation entre un élément et sa déclaration (par exemple, pour un nom de variable, il peut s'agir d'un paramètre d'une méthode, fournissant des informations sur son type, sa position dans l'AST. , etc).
L'utilisation de la dépendance ci-dessus ajoutera à la fois JavaParser et JavaSymbolSolver à votre projet. Si vous n'avez besoin que de la fonctionnalité de base d'analyse du code source Java afin de parcourir et de manipuler l'AST généré, vous pouvez réduire le passe-partout de vos projets en incluant uniquement JavaParser à votre projet :
Maven :
< dependency >
< groupId >com.github.javaparser</ groupId >
< artifactId >javaparser-core</ artifactId >
< version >3.26.2</ version >
</ dependency >
Graduation :
implementation 'com.github.javaparser:javaparser-core:3.26.2'
Depuis la version 3.6.17, l'AST peut être sérialisé en JSON. Il existe un module séparé pour cela :
Maven :
< dependency >
< groupId >com.github.javaparser</ groupId >
< artifactId >javaparser-core-serialization</ artifactId >
< version >3.26.2</ version >
</ dependency >
Graduation :
implementation 'com.github.javaparser:javaparser-core-serialization:3.26.2'
Si vous avez extrait le code source du projet depuis GitHub, vous pouvez créer le projet avec maven en utilisant :
./mvnw clean install
Si vous souhaitez générer les fichiers jar packagés à partir des fichiers sources, exécutez la commande maven suivante :
./mvnw package
REMARQUE les fichiers jar des deux modules se trouvent dans :
javaparser/javaparser-core/target/javaparser-core-<version>.jar
javaparser-symbol-solver-core/target/javaparser-symbol-solver-core-<version>.jar
Si vous extrayez les sources et souhaitez afficher le projet dans un IDE, il est préférable de générer d'abord certains des fichiers sources ; sinon vous recevrez de nombreuses plaintes de compilation dans l'EDI. ( ./mvnw clean install
le fait déjà pour vous.)
./mvnw javacc:javacc
Si vous modifiez le code des nœuds AST, notamment si vous ajoutez ou supprimez des champs ou des classes de nœuds, les générateurs de code mettront à jour une grande partie du code pour vous. Le script run_metamodel_generator.sh
reconstruira le métamodèle, qui est utilisé par les générateurs de code exécutés par run_core_generators.sh
Assurez-vous que javaparser-core
est au moins compilé avant de les exécuter.
Remarque : pour Eclipse IDE suivez les étapes décrites dans le wiki : https://github.com/javaparser/javaparser/wiki/Eclipse-Project-Setup-Guide
JavaParser est disponible sous les termes de la licence LGPL ou de la licence Apache. En tant qu'utilisateur, vous avez le droit de choisir les conditions dans lesquelles vous adoptez JavaParser.
Pour plus de détails sur la licence LGPL, veuillez vous référer à LICENSE.LGPL.
Pour plus de détails sur la licence Apache, veuillez vous référer à LICENSE.APACHE.