Eclipse JDT 語言伺服器是語言伺服器協定的 Java 語言特定實現,可以與支援該協定的任何編輯器一起使用,為 Java 語言提供良好的支援。伺服器基於:
語言伺服器需要(至少) Java 17的執行環境才能運作。這應該在JAVA_HOME
環境變數中或使用者的路徑中設定。
有幾個選項可以安裝 eclipse.jdt.ls:
jdtls
或eclipse.jdt.ls
。git clone
克隆儲存庫,並透過JAVA_HOME=/path/to/java/17 ./mvnw clean verify
建置專案。可以選擇附加-DskipTests=true
以繞過測試。此命令將伺服器建置到./org.eclipse.jdt.ls.product/target/repository
資料夾中。某些編輯器或編輯器擴充功能捆綁 eclipse.jdt.ls 或包含安裝它的邏輯。如果是這種情況,您只需要安裝編輯器擴充功能。例如,對於 Visual Studio Code,您可以安裝 Java 擴充包,它將處理其餘的內容。
如果您從原始程式碼建立了 eclipse.jdt.ls,請cd
進入./org.eclipse.jdt.ls.product/target/repository
。如果您下載了里程碑或快照版本,請擷取內容。
若要在活動終端機中啟動伺服器,請按如下所述調整以下命令並執行它:
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
的值:這是平台配置目錄的路徑。對於 Linux,請使用./config_linux
。對於 Windows,請使用./config_win
。對於 mac/OS X,請使用./config_mac
。-jar ./plugins/...
中 jar 的檔案名稱以符合您建置或下載的版本。-data
的值:資料目錄的絕對路徑。 eclipse.jdt.ls 在其中儲存工作區特定資訊。每個工作區/專案這應該是唯一的。如果您想偵錯 eclipse.jdt.ls 本身,請在java
之後新增-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1044
並確保連接埠 1044 上沒有其他任何程式運作。從執行開始進行偵錯,將suspend=n
變更為suspend=y
這樣 JVM 將在啟動伺服器之前等待您的偵錯器。
還有一個可用的 Python 包裝器腳本,可以讓 eclipse.jdt.ls 的啟動更加方便(無需與 Java 選項等打交道)。下面描述了範例用法。該腳本需要 Python 3.9。
./org.eclipse.jdt.ls.product/target/repository/bin/jdtls
-configuration ~ /.cache/jdtls
-data /path/to/data
所有顯示的 Java 選項將由包裝腳本設定。請注意, -configuration
選項指向使用者的資料夾,以確保org.eclipse.jdt.ls.product/target/repository/config_*
中的設定資料夾保持不變。
請參閱貢獻
Java語言伺服器支援伺服器程序的套接字、命名管道和標準流與客戶端進行通訊。客戶端可以透過設定環境變數或使用系統屬性(例如-DCLIENT_PORT=...
)來傳達其首選連線方法
若要使用普通套接字,請在啟動伺服器之前設定下列環境變數或系統屬性:
CLIENT_PORT
:要連接的套接字的端口CLIENT_HOST
:要連線的主機名稱。如果未設置,則預設為localhost
。此連接將用於輸入和輸出。
要使用伺服器進程的標準流(stdin、stdout),請不要設定任何上述環境變量,伺服器將回退到標準流。
對於套接字和命名管道,客戶端應建立連線並等待伺服器連線。
此儲存庫僅包含伺服器實作。以下是一些使用該伺服器的已知客戶端:
我們的 CI 伺服器將伺服器二進位檔案發佈到 http://download.eclipse.org/jdtls/snapshots/。
P2 儲存庫可在 http://download.eclipse.org/jdtls/snapshots/repository/ 下找到。
里程碑版本可在 http://download.eclipse.org/jdtls/milestones/ 下取得。
EPL 2.0,請參閱授權文件。