Server Bahasa Eclipse JDT adalah implementasi khusus bahasa Java dari Protokol Server Bahasa dan dapat digunakan dengan editor apa pun yang mendukung protokol tersebut, untuk menawarkan dukungan yang baik untuk Bahasa Java. Servernya didasarkan pada:
Server bahasa memerlukan lingkungan runtime Java 17 (minimal) untuk dijalankan. Ini harus diatur dalam variabel lingkungan JAVA_HOME
, atau di jalur pengguna.
Ada beberapa opsi untuk menginstal Eclipse.jdt.ls:
jdtls
atau eclipse.jdt.ls
.git clone
dan bangun proyek melalui JAVA_HOME=/path/to/java/17 ./mvnw clean verify
. Secara opsional tambahkan -DskipTests=true
untuk melewati pengujian. Perintah ini membangun server ke dalam folder ./org.eclipse.jdt.ls.product/target/repository
.Beberapa editor atau ekstensi editor membundel Eclipse.jdt.ls atau berisi logika untuk menginstalnya. Jika demikian, Anda hanya perlu menginstal ekstensi editor. Misalnya untuk Visual Studio Code Anda dapat menginstal Paket Ekstensi untuk Java dan sisanya akan mengurusnya.
Jika Anda membuat Eclipse.jdt.ls dari sumber, cd
ke ./org.eclipse.jdt.ls.product/target/repository
. Jika Anda mengunduh tonggak sejarah atau versi snapshot, ekstrak kontennya.
Untuk memulai server di terminal aktif, sesuaikan perintah berikut seperti dijelaskan lebih lanjut di bawah dan jalankan:
java
-Declipse.application=org.eclipse.jdt.ls.core.id1
-Dosgi.bundles.defaultStartLevel=4
-Declipse.product=org.eclipse.jdt.ls.core.product
-Dlog.level=ALL
-Xmx1G
--add-modules=ALL-SYSTEM
--add-opens java.base/java.util=ALL-UNNAMED
--add-opens java.base/java.lang=ALL-UNNAMED
-jar ./plugins/org.eclipse.equinox.launcher_1.5.200.v20180922-1751.jar
-configuration ./config_linux
-data /path/to/data
-configuration
: ini adalah jalur ke direktori konfigurasi platform Anda. Untuk Linux, gunakan ./config_linux
. Untuk windows, gunakan ./config_win
. Untuk mac/OS X, gunakan ./config_mac
.-jar ./plugins/...
agar sesuai dengan versi yang Anda buat atau unduh.-data
: Jalur absolut ke direktori data Anda. Eclipse.jdt.ls menyimpan informasi spesifik ruang kerja di dalamnya. Ini harus unik per ruang kerja/proyek. Jika Anda ingin men-debug Eclipse.jdt.ls sendiri, tambahkan -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1044
tepat setelah java
dan pastikan tidak ada lagi yang berjalan pada port 1044. Jika Anda ingin debug dari awal eksekusi, ubah suspend=n
menjadi suspend=y
sehingga JVM akan menunggu debugger Anda sebelum memulai server.
Tersedia juga skrip pembungkus Python yang membuat permulaan Eclipse.jdt.ls lebih nyaman (tidak perlu repot dengan opsi Java, dll.). Contoh penggunaan dijelaskan di bawah ini. Skrip ini membutuhkan Python 3.9.
./org.eclipse.jdt.ls.product/target/repository/bin/jdtls
-configuration ~ /.cache/jdtls
-data /path/to/data
Semua opsi Java yang ditampilkan akan disetel oleh skrip pembungkus. Harap perhatikan bahwa opsi -configuration
menunjuk ke folder pengguna untuk memastikan bahwa folder konfigurasi di org.eclipse.jdt.ls.product/target/repository/config_*
tetap tidak tersentuh.
Lihat Berkontribusi
Server Bahasa Java mendukung soket, pipa bernama, dan aliran standar proses server untuk berkomunikasi dengan klien. Klien dapat mengkomunikasikan metode koneksi pilihannya dengan mengatur variabel lingkungan atau alternatifnya menggunakan properti sistem (misalnya -DCLIENT_PORT=...
)
Untuk menggunakan soket biasa , atur variabel lingkungan atau properti sistem berikut sebelum memulai server:
CLIENT_PORT
: port soket yang akan dihubungkanCLIENT_HOST
: nama host yang akan dihubungkan. Jika tidak disetel, defaultnya adalah localhost
.Koneksi tersebut akan digunakan untuk in dan output.
Untuk menggunakan aliran standar (stdin, stdout) dari proses server, jangan setel variabel lingkungan apa pun di atas dan server akan kembali ke aliran standar.
Untuk soket dan pipa bernama, klien diharapkan membuat koneksi dan menunggu server terhubung.
Repositori ini hanya berisi implementasi server. Berikut adalah beberapa klien yang diketahui menggunakan server ini:
Server CI kami menerbitkan binari server ke http://download.eclipse.org/jdtls/snapshots/.
Repositori P2 tersedia di http://download.eclipse.org/jdtls/snapshots/repository/.
Pembuatan pencapaian tersedia di http://download.eclipse.org/jdtls/milestones/.
EPL 2.0, Lihat file LISENSI.