Этот проект содержит набор библиотек, реализующих парсер Java 1.0–Java 21 с расширенными функциями анализа.
Наш основной сайт находится по адресу JavaParser.org.
Поддержите этот проект, став спонсором! Стать спонсором. Ваше пожертвование поможет проекту жить и успешно развиваться.
Javaparser использует OpenCollective для сбора денег.
Спасибо нашим спонсорам!
Двоичные файлы проекта доступны в Maven Central.
Мы настоятельно советуем пользователям использовать Maven, Gradle или другую систему сборки для своих проектов. Если вы с ними не знакомы, мы предлагаем взглянуть на проекты быстрого запуска maven (javaparser-maven-sample, javasymbolsolver-maven-sample).
Просто добавьте следующее в свою конфигурацию maven или настройте свою собственную систему управления зависимостями.
Пожалуйста, обратитесь к Руководству по миграции при обновлении с 2.5.1 до 3.0.0+.
Мейвен :
< dependency >
< groupId >com.github.javaparser</ groupId >
< artifactId >javaparser-symbol-solver-core</ artifactId >
< version >3.26.2</ version >
</ dependency >
Градл :
implementation 'com.github.javaparser:javaparser-symbol-solver-core:3.26.2'
Начиная с версии 3.5.10, проект JavaParser включает JavaSymbolSolver. В то время как JavaParser генерирует абстрактное синтаксическое дерево, JavaSymbolSolver анализирует это AST и может найти связь между элементом и его объявлением (например, для имени переменной оно может быть параметром метода, предоставляющим информацию о его типе, положении в AST). и т. д.).
Использование приведенной выше зависимости добавит в ваш проект JavaParser и JavaSymbolSolver. Если вам нужны только базовые функции анализа исходного кода Java для перемещения и управления сгенерированным AST, вы можете уменьшить шаблонность своих проектов, включив в свой проект только JavaParser:
Мейвен :
< dependency >
< groupId >com.github.javaparser</ groupId >
< artifactId >javaparser-core</ artifactId >
< version >3.26.2</ version >
</ dependency >
Градл :
implementation 'com.github.javaparser:javaparser-core:3.26.2'
Начиная с версии 3.6.17 AST можно сериализовать в JSON. Для этого есть отдельный модуль:
Мейвен :
< dependency >
< groupId >com.github.javaparser</ groupId >
< artifactId >javaparser-core-serialization</ artifactId >
< version >3.26.2</ version >
</ dependency >
Градл :
implementation 'com.github.javaparser:javaparser-core-serialization:3.26.2'
Если вы проверили исходный код проекта на GitHub, вы можете собрать проект с помощью maven, используя:
./mvnw clean install
Если вы хотите сгенерировать упакованные файлы jar из исходных файлов, выполните следующую команду maven:
./mvnw package
ПРИМЕЧАНИЕ. jar-файлы для двух модулей можно найти по адресу:
javaparser/javaparser-core/target/javaparser-core-<version>.jar
javaparser-symbol-solver-core/target/javaparser-symbol-solver-core-<version>.jar
Если вы извлекаете исходные коды и хотите просмотреть проект в IDE, лучше всего сначала сгенерировать некоторые исходные файлы; в противном случае вы получите множество жалоб на компиляцию в IDE. ( ./mvnw clean install
уже сделает это за вас.)
./mvnw javacc:javacc
Если вы измените код узлов AST, особенно если вы добавите или удалите поля или классы узлов, генераторы кода обновят за вас большую часть кода. Скрипт run_metamodel_generator.sh
перестроит метамодель, которая используется генераторами кода, запускаемыми run_core_generators.sh
Прежде чем запускать их, убедитесь, что javaparser-core
хотя бы компилируется.
Примечание . Для Eclipse IDE выполните действия, описанные в вики: https://github.com/javaparser/javaparser/wiki/Eclipse-Project-Setup-Guide.
JavaParser доступен либо на условиях лицензии LGPL, либо на условиях лицензии Apache. Вы как пользователь имеете право выбирать условия, на которых будет использоваться JavaParser.
Подробную информацию о лицензии LGPL можно найти на странице LICENSE.LGPL.
Подробную информацию о лицензии Apache см. на странице LICENSE.APACHE.