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 の場合、Extension Pack for Java をインストールすると、残りの処理は自動的に行われます。
eclipse.jdt.ls をソースからビルドした場合は、 ./org.eclipse.jdt.ls.product/target/repository
にcd
ます。マイルストーンまたはスナップショット ビルドをダウンロードした場合は、内容を抽出します。
アクティブな端末でサーバーを起動するには、以下の説明に従って次のコマンドを調整して実行します。
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 がサーバーを起動する前にデバッガを待機するようにします。
eclipse.jdt.ls の起動をより便利にする Python ラッパー スクリプトも利用できます (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、LICENSE ファイルを参照してください。