本專案包含一組實作具有進階分析功能的 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。