redhat-developer / redhat-developer/vscode-java

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

未关闭
#2,543 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

preferences runtime
主要语言
TypeScript
星标
2.3k
派生
547
平均合并
20 小时 1 分钟
30 天内合并 PR
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. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从 Configure Java Runtime 命令以及位于 workspaceStorage/.../redhat.java/jdt_ws/.metadata/.log 的附加 Java Language Server 日志开始。使用 JDK 8 和 17 在两个文件夹项目中重现该问题,然后验证每个项目是否保留其选定的 JDK,而不是两者都被设置为同一版本。

由索引模型根据 Issue 内容生成。

评估

技术栈
java, typescript
领域
developer-experience
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。