Proyek ini berisi sekumpulan perpustakaan yang mengimplementasikan Java 1.0 - Java 21 Parser dengan fungsi analisis tingkat lanjut.
Situs utama kami ada di JavaParser.org
Dukung proyek ini dengan menjadi sponsor! Menjadi sponsor. Donasi Anda akan membantu proyek ini berjalan dan berkembang dengan sukses.
Javaparser menggunakan OpenCollective untuk mengumpulkan uang.
Terima kasih kepada sponsor kami!
Biner proyek tersedia di Maven Central.
Kami sangat menyarankan pengguna untuk mengadopsi Maven, Gradle, atau sistem build lainnya untuk proyek mereka. Jika Anda belum mengenalnya, kami sarankan untuk melihat proyek quickstart maven (javaparser-maven-sample, javasymbolsolver-maven-sample).
Cukup tambahkan yang berikut ini ke konfigurasi pakar Anda atau sesuaikan dengan sistem manajemen ketergantungan Anda sendiri.
Silakan merujuk ke Panduan Migrasi saat meningkatkan dari 2.5.1 ke 3.0.0+
pakar :
< dependency >
< groupId >com.github.javaparser</ groupId >
< artifactId >javaparser-symbol-solver-core</ artifactId >
< version >3.26.2</ version >
</ dependency >
kelas :
implementation 'com.github.javaparser:javaparser-symbol-solver-core:3.26.2'
Sejak Versi 3.5.10, proyek JavaParser menyertakan JavaSymbolSolver. Sementara JavaParser menghasilkan Pohon Sintaks Abstrak, JavaSymbolSolver menganalisis AST tersebut dan mampu menemukan hubungan antara elemen dan deklarasinya (misalnya untuk nama variabel, ini bisa menjadi parameter suatu metode, memberikan informasi tentang tipenya, posisi dalam AST , dll).
Menggunakan ketergantungan di atas akan menambahkan JavaParser dan JavaSymbolSolver ke proyek Anda. Jika Anda hanya memerlukan fungsionalitas inti penguraian kode sumber Java untuk melintasi dan memanipulasi AST yang dihasilkan, Anda dapat mengurangi boilerplate proyek Anda dengan hanya menyertakan JavaParser ke proyek Anda:
pakar :
< dependency >
< groupId >com.github.javaparser</ groupId >
< artifactId >javaparser-core</ artifactId >
< version >3.26.2</ version >
</ dependency >
kelas :
implementation 'com.github.javaparser:javaparser-core:3.26.2'
Sejak versi 3.6.17 AST dapat diserialkan ke JSON. Ada modul terpisah untuk ini:
Pakar :
< dependency >
< groupId >com.github.javaparser</ groupId >
< artifactId >javaparser-core-serialization</ artifactId >
< version >3.26.2</ version >
</ dependency >
kelas :
implementation 'com.github.javaparser:javaparser-core-serialization:3.26.2'
Jika Anda memeriksa kode sumber proyek dari GitHub, Anda dapat membangun proyek dengan pakar menggunakan:
./mvnw clean install
Jika Anda ingin membuat file jar yang dikemas dari file sumber, jalankan perintah maven berikut:
./mvnw package
CATATAN file jar untuk kedua modul dapat ditemukan di:
javaparser/javaparser-core/target/javaparser-core-<version>.jar
javaparser-symbol-solver-core/target/javaparser-symbol-solver-core-<version>.jar
Jika Anda memeriksa sumbernya dan ingin melihat proyek dalam IDE, yang terbaik adalah membuat beberapa file sumber terlebih dahulu; jika tidak, Anda akan mendapatkan banyak keluhan kompilasi di IDE. ( ./mvnw clean install
sudah melakukan ini untuk Anda.)
./mvnw javacc:javacc
Jika Anda mengubah kode node AST, khususnya jika Anda menambahkan atau menghapus bidang atau kelas node, pembuat kode akan memperbarui banyak kode untuk Anda. Skrip run_metamodel_generator.sh
akan membangun kembali metamodel, yang digunakan oleh pembuat kode yang dijalankan oleh run_core_generators.sh
Pastikan javaparser-core
setidaknya dikompilasi sebelum Anda menjalankannya.
Catatan : untuk Eclipse IDE ikuti langkah-langkah yang dijelaskan di wiki: https://github.com/javaparser/javaparser/wiki/Eclipse-Project-Setup-Guide
JavaParser tersedia berdasarkan ketentuan Lisensi LGPL atau Lisensi Apache. Anda sebagai pengguna berhak memilih ketentuan yang mendasari adopsi JavaParser.
Untuk detail tentang Lisensi LGPL silakan merujuk ke LICENSE.LGPL.
Untuk detail tentang Lisensi Apache silakan merujuk ke LICENSE.APACHE.