【问题标题】:Minecraft Client environment not running through vscode on MACMinecraft 客户端环境未在 MAC 上通过 vscode 运行
【发布时间】:2021-10-22 19:52:14
【问题描述】:

由于某种原因,这个问题与 gradle 和 yarn 有关,无论我如何尝试让“fabric-loom”插件正常工作,都没有任何效果。它说我使用的是过时的 Java 版本,我使用的是 Java 11(我不是,我在 bash 终端中使用了“java -version”),我使用的是 Mac btw,它说我是在 Java 16.0.2(它告诉我要使用的版本)上,我将附上日志和我编写的一些代码。如果有人可以帮助我,那就太好了,在此先感谢:)

崩溃日志:

Could not run phased build action using connection to Gradle distribution 'https://services.gradle.org/distributions/gradle-7.2-bin.zip'. Build file '/Users/joeplemople/Desktop/joes blocks/build.gradle' line: 2 An exception occurred applying plugin request [id: 'fabric-loom', version: '0.9-SNAPSHOT'] Failed to apply plugin 'fabric-loom'. You are using an outdated version of Java (11). Java 16 or higher is required.

(由于某种原因,这被输出了两次,我知道为什么)

终端代码(Bash):

  • 显示我安装了哪些 Java 版本 JoepleMoples-MacBook-Pro:

joes blocks joeplemople$ /usr/libexec/java_home -V Matching Java Virtual Machines (2): 16.0.2, x86_64: "Java SE 16.0.2" /Library/Java/JavaVirtualMachines/jdk-16.0.2.jdk/Contents/Home 11.0.12, x86_64: "Java SE 11.0.12" /Library/Java/JavaVirtualMachines/jdk-11.0.12.jdk/Contents/Home

  • 我将 Java 的默认版本设置为 Java (JDK) 16:

/Library/Java/JavaVirtualMachines/jdk-16.0.2.jdk/Contents/Home JoepleMoples-MacBook-Pro:joes blocks joeplemople$ export JAVA_HOME=$(/usr/libexec/java_home -v 16.0.2) JoepleMoples-MacBook-Pro:joes blocks joeplemople$ java -version java version "16.0.2" 2021-07-20 Java(TM) SE Runtime Environment (build 16.0.2+7-67) Java HotSpot(TM) 64-Bit Server VM (build 16.0.2+7-67, mixed mode, sharing)

提前致谢 :)

【问题讨论】:

  • 也许这有帮助? stackoverflow.com/a/56861298/7821823 如果没有,您可以将 build.gradle 文件的内容添加到您的问题中吗?
  • 当我尝试执行命令$ /usr/libexec/java_home 时,它没有显示目录,它只是说:“没有这样的文件或目录”,这是否意味着我没有安装 jdk或者这是否意味着我没有将它设置为“java_home”

标签: java macos gradle visual-studio-code minecraft-fabric


【解决方案1】:

打开命令面板并选择Java:配置Java运行时,为Project JDKsJava Tooling Runtime选择jdk16。

然后重新加载窗口以使更改生效并查看错误是否消失。

【讨论】:

  • @JoepleMople。作为提问者,如果您认为这是解决问题的最佳方法,您有权接受答案。或者投赞成票,这是有帮助的。见What should I do when someone answers my question?
  • 它仍然给出相同的崩溃输出,我设法更改了Java Tooling Runtime,但我不能也没有更改Project JDKs,因为它说要更改正在使用的JDK,你进入build.gradle并将sourceCompatabilitytargetCompatability更改为您要使用的JDK,(它还说更改pom.xml文件,但我找不到它,因为我不是运行一个 maven 项目)我的 sCom 和 tCom 都设置为JavaVersion.VERSION_16,但我仍然无法运行它。
  • 好的,所以我实际上已经正确配置了 gradle 并将我的 java 版本设置为 java 16,但是现在当我尝试运行显示 Exception has occurred: java.lang.ClassNotFoundException "java.lang.ClassNotFoundException: javax.servlet.Servlet" 的客户端环境时出现错误@它需要我到一个名为 BuiltinClassLoader.class 的文件到第 636 行,它说:throw new ClassNotFoundException(cn); (cn = "javax.servlet.Servlet") 我该怎么办?
  • @JoepleMople。似乎您没有将所需的依赖项 javax.servlet 添加到您的项目中。从命令面板运行命令 Java: Clean Java Language Server Workspace,然后将compileOnly group: 'javax.servlet', name: 'javax.servlet-api', version: '4.0.1' 添加到build.gradle。看看有没有帮助。
猜你喜欢
  • 2019-09-04
  • 1970-01-01
  • 2019-01-16
  • 1970-01-01
  • 2021-06-01
  • 1970-01-01
  • 2018-03-26
  • 2021-12-28
  • 2016-11-30
相关资源
最近更新 更多