redhat-developer / redhat-developer/vscode-java

Java Language Server hangs while importing project

オープン
#3,105 コメント 1 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
TypeScript
スター
2.3k
フォーク
546
平均マージ
20時間 1分
マージ済み PR(30日)
11

説明

When opening my work repository as a multi-root workspace, the Java Language Server seems to hang indefinitely while importing/refreshing the root project.

Environment
  • Operating System: Ubuntu 20.04.6
  • JDK version: 11 for the project, 17 for the extension
  • Visual Studio Code version: 1.78.2
  • Java extension version: 1.18.0
Steps To Reproduce

This happens as soon as I open my project in VSCode and the language server starts up. I can't link to the repository because it's private. This doesn't happen on smaller repositories.

Current Result

The language server output hangs after printing the output:

03ec6036 Reporting encoding changes. [Done]
f29dbd85 Importing root project: 31% Refreshing '<project root dir>'. [308/1000]
Expected Result

It should continue to import the project and then offer up the language features it advertises.

Additional Informations

Not sure if this is relevant, but sometime the output above shows a second message related to Gradle instead. We're currently migrating from using Maven to Gradle, and we have the structure for both build systems in the repository right now. I've disabled all the options for the Java LS extension related to Maven that I could find.

ls-client-logs.txt
ls-server-logs.txt

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず添付されている ls-client-logs.txt と ls-server-logs.txt を確認し、大規模なマルチルートワークスペースを VS Code で開いてハングを再現します。Maven と Gradle のインポートメッセージを比較し、プロジェクトのインポートが完了して言語機能が利用可能になることを確認します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java, typescript, vscode
領域
devtools
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
30/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。