使用.NET 6或更高版本时需要Java SDK 11.0或更高版本

The*_*lis 19 .net java installation java-11 maui

我已经安装了 .NET 6(版本6.0.100-rc.1.21458.32)和 Visual Studio 2020 Preview(尽管它可能不是先决条件)。

我正在尝试调试 hello-world 应用程序,但收到有关 Java 的构建错误

C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\31.0.100-rc.1.12\targets\Microsoft.Android.Sdk.Tooling.targets(20,5): error XA0031: 
Java SDK 11.0 or above is required when using .NET 6 or higher. 
Run Code Online (Sandbox Code Playgroud)

我已经安装了 Java 17 设置Path,并指向 Visual Studio 设置中的 Java 开发工具包位置(工具->选项->Xamarin->Android 设置)。因为这不起作用,我已将 JDK 位置设置为 Microsoft 的 openjdk,但它仍然不起作用。

在此输入图像描述

这是怎么回事?

The*_*lis 20

安装 Microsoft 的OpenJDK 11帮我完成了这项工作。

您可能会注意到 Visual Studio 安装了 Microsoft OpenJDK 的一个版本,但是,您需要安装 Microsoft OpenJDK 11


小智 20

对于那些在Jetbrains Rider中遇到同样问题的人:

  1. 安装 OpenJDK 11微软的 OpenJDK 11似乎更好),如 @themelis 提到的
  2. Ctrl + Shift + A并搜索MSBuild 全局属性或转到“文件”>“设置”>“构建、执行、部署”>“工具集和构建”
  3. 编辑MSBuild全局属性添加以下属性:

Name: JavaSdkDirectory Value: {OpenJDK installation directory} (mine is C:\Program Files\Microsoft\jdk-11.0.16.101-hotspot)

在此输入图像描述

  1. 保存享受


小智 9

当我安装VS2022预览版4时,我的配置变成了C:\Program Files\Microsoft\jdk-11.0.10.9-hotspot

maui-check如果您运行该命令(如果您在 Visual Studio 安装期间安装了该组件),则可以解决此问题。

如果没有该maui-check工具,可以通过运行dotnet tool install -g Redth.Net.Maui.Check命令来获取

也许您在安装过程中跳过了某个步骤,这就是您收到错误的原因。


Bra*_*ick 7

适用于 Mac 的 Visual Studio

以下是我如何使用 Visual Studio for Mac 在 macOS 上运行它。

安装微软开放JDK

在 macOS 上,使用 HomeBrew安装 Microsoft Open JDK :

brew install --cask microsoft-openjdk
Run Code Online (Sandbox Code Playgroud)

配置 Visual Studio for Mac

  1. 在 Visual Studio for Mac 中,选择Visual Studio ->首选项

  2. “首选项”窗口中,导航至SDK Locations -> Android -> Locations

  3. Java SDK (JDK) 位置:文本框中,输入以下内容:

/Library/Java/JavaVirtualMachines/jdk-13.0.1.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
  1. 单击“确定”

在此输入图像描述

  • 我按照上面的说明操作,但它生成了以下内容: `/Library/Java/JavaVirtualMachines/jdk-16.0.2.jdk/Contents/Home` 和 `/Library/Java/JavaVirtualMachines/microsoft-17.jdk/Contents/Home `。两者都没有消除最初的错误。 (6认同)

Jam*_*ack 5

使用过去几天(2023 年 11 月 20 日)开始推出的新 MSBuild 17.8.3,您可能会开始在 MAUI/Xamarin 的 Azure DevOps 构建管道上收到此错误。与 Github Actions 相同。

此处详细解决方案:MAUI / Xamarin 构建失败,并显示“Microsoft.Android.Sdk.Tooling.targets(20,5):错误 XA0031:使用 .NET 6 时需要 Java SDK 11.0 或更高版本”

  • 嗨@knocte,我也遇到了同样的问题。您可以在发布之前添加此操作。``` - 名称:Setup Java JDK 使用:actions/setup-java@v3.13.0 with: distribution: 'microsoft' java-version: '17' ``` (2认同)