redhat-developer / redhat-developer/vscode-java

can not set different jdk versions for different folder projects in the same workspace

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

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

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

説明

[In vscode, how to set different jdk versions for different folder projects in the same workspace]see this issue

Environment
  • Operating System: macOS 12.4 (21F79)
  • JDK version: 8 or 17
  • Visual Studio Code version: 1.68.1 (Universal)
  • Java extension version: Extension Pack for Java v0.24.0
Steps To Reproduce
  1. [step 1] Add two normal projects with two different JDK versions to the same workspace.
  2. [step 2] command+shift+p -> configure java runtime
  3. [step 3] set different jdk version。
  4. The java version is always automatically set to the same.

[Please attach a sample project reproducing the error]
Please attach logs

Current Result

configure java runtime png
2022-07-06 13 04 24

Expected Result
2022-07-06 13 50 52
Additional Informations

Developer: Toggle Developer Tools console log

Access to XMLHttpRequest at 'https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery' from origin 'vscode-file://vscode-app' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
workbench.desktop.main.js:597   ERR RequestService#request (browser) - error https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery Error: XHR failed
    at XMLHttpRequest.v.onerror (vscode-file://vscode-app/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:83:27645)
marketplace.visualstudio.com/_apis/public/gallery/extensionquery:1          Failed to load resource: net::ERR_FAILED
workbench.desktop.main.js:71 [Extension Host] 6 Jul 13:29:14 - Proposed protocol extensions loaded!
workbench.desktop.main.js:597   ERR Connection got disposed.: Error: Connection got disposed.
	at Object.dispose (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1126161)
	at Object.dispose (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:973103)
	at w.handleConnectionClosed (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:973291)
	at w.handleConnectionClosed (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1046964)
	at t (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:971405)
	at invoke (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1127787)
	at s.fire (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1128548)
	at Q (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1115300)
	at invoke (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1127787)
	at s.fire (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1128548)
	at g.fireClose (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1139993)
	at Socket.<anonymous> (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1140778)
	at Socket.emit (node:events:390:28)
	at Pipe.<anonymous> (node:net:687:12)
workbench.desktop.main.js:71 [Extension Host] rejected promise not handled within 1 second: Error: Connection got disposed.
I @ workbench.desktop.main.js:71
workbench.desktop.main.js:71 [Extension Host] stack trace: Error: Connection got disposed.	at Object.dispose (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1126161)	at Object.dispose (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:973103)	at w.handleConnectionClosed (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:973291)	at w.handleConnectionClosed (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1046964)	at t (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:971405)	at invoke (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1127787)	at s.fire (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1128548)	at Q (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1115300)	at invoke (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1127787)	at s.fire (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1128548)	at g.fireClose (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1139993)	at Socket.<anonymous> (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1140778)	at Socket.emit (node:events:390:28)	at Pipe.<anonymous> (node:net:687:12)
I @ workbench.desktop.main.js:71
workbench.desktop.main.js:2693 [[object Object]]Connection got disposed.
$onExtensionRuntimeError @ workbench.desktop.main.js:2693
workbench.desktop.main.js:2693 Error: Connection got disposed.
	at Object.dispose (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1126161)
	at Object.dispose (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:973103)
	at w.handleConnectionClosed (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:973291)
	at w.handleConnectionClosed (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1046964)
	at t (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:971405)
	at invoke (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1127787)
	at s.fire (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1128548)
	at Q (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1115300)
	at invoke (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1127787)
	at s.fire (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1128548)
	at g.fireClose (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1139993)
	at Socket.<anonymous> (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1140778)
	at Socket.emit (node:events:390:28)
	at Pipe.<anonymous> (node:net:687:12)

shift+command+u output-log(window)

[2022-07-06 13:29:11.639] [renderer1] [error] RequestService#request (browser) - error https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery {}
[2022-07-06 13:29:14.774] [renderer1] [error] Connection got disposed.: Error: Connection got disposed.
	at Object.dispose (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1126161)
	at Object.dispose (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:973103)
	at w.handleConnectionClosed (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:973291)
	at w.handleConnectionClosed (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1046964)
	at t (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:971405)
	at invoke (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1127787)
	at s.fire (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1128548)
	at Q (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1115300)
	at invoke (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1127787)
	at s.fire (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1128548)
	at g.fireClose (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1139993)
	at Socket.<anonymous> (/Users/elewen/.vscode/extensions/redhat.java-1.8.0-darwin-x64/dist/extension.js:2:1140778)
	at Socket.emit (node:events:390:28)
	at Pipe.<anonymous> (node:net:687:12)

Java: Open Java Language Server log file

/Users/elewen/Library/Application Support/Code/User/workspaceStorage/675d040fc0c43fc966d08bd8b269c960/redhat.java/jdt_ws/.metadata/.log

logfile
Java Language Server log file.log

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

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

はじめの一歩

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

調査の方向性

Configure Java Runtime コマンドと、workspaceStorage/.../redhat.java/jdt_ws/.metadata/.log にある添付の Java Language Server ログから始めます。JDK 8 と 17 を使用する 2 つのフォルダープロジェクトで問題を再現し、その後、両方が同じバージョンに設定されるのではなく、各プロジェクトが選択した JDK を保持していることを確認します。

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

評価

技術スタック
java, typescript
領域
developer-experience
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

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

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