该项目包含一组实现具有高级分析功能的 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,请按照 wiki 中描述的步骤操作:https://github.com/javaparser/javaparser/wiki/Eclipse-Project-Setup-Guide
JavaParser 可根据 LGPL 许可证或 Apache 许可证的条款使用。您作为用户有权选择采用 JavaParser 的条款。
有关 LGPL 许可证的详细信息,请参阅 LICENSE.LGPL。
有关 Apache 许可证的详细信息,请参阅 LICENSE.APACHE。