在 Visual Studio Code (VsCode) 和 Java 11 中使用 SonarLint 时出错

cha*_*e17 12 java visual-studio-code sonarlint java-11

我在 Visual Studio 代码中使用 SonarLint 时遇到问题,我 \xe2\x80\x99 在 java 8 中一直很好地使用这个插件,但上周,Vscode 需要 java 11 作为最低 java 版本,当我更新它时(我继续使用 java对于我的项目来说,根据Vscode可以使用两个版本),插件无法\xe2\x80\x99启动良好,这是一个错误:\n[Error - 16:57:02.682] Analysis failed.

\n

[错误 - 16:57:02.683] java.lang.IllegalStateException:没有匹配 'C:\\Users\\MyUser.m2\\repository\\com\\sun\\java\\tools\\11\ 的文件或目录\tools-11.jar'

\n

我知道tools.jar在java 11中不存在\xe2\x80\x99t,并且我无法\xe2\x80\x99t找到一个jar来替换它或解决这个问题的方法。\nI\xe2\x80\x99m使用最后一个sonarLint 插件版本 1.17.0

\n

感谢您的回答。

\n

Cas*_*rin 20

要求 SonarLint 语言服务器需要 Java 运行时 (JRE) 8 或 11。如果您的计算机上已安装,SonarLint 应该会自动查找并使用它。

如果在通常的地方找不到合适的 JRE,SonarLint 会请求您的许可来下载和管理自己的版本。

最后,您可以使用 VS Code 设置中的 sonarlint.ls.javaHome 变量显式设置 JRE 的安装路径。例如:

{
    "sonarlint.ls.javaHome": "C:\\Program Files\\Java\\jre-11.0.11"
}
Run Code Online (Sandbox Code Playgroud)

在 Windows 上,必须转义反斜杠,例如 C:\Program Files\Java\jdk-11.0.11 在 macOS 上,此路径应包含 /Contents/Home 目录,例如 /Library/Java/JavaVirtualMachines/jdk-11.0.11。 jdk/目录/首页

为了分析 JavaScript 和 TypeScript,SonarLint 还需要 Node.js。

要启用对 Java 的支持,您需要 Java VSCode 扩展的语言支持(版本 0.56.0 或更高版本)。

对 Apex 和 PL/SQL 的支持仅与 SonarQube/SonarCloud 一起提供。对于 Apex,您还需要 Salesforce Extension Pack VSCode 扩展。