当前位置: 首页 > 知识库问答 >
问题:

对于OpenJDK的JDK还是OpenJDK的JRE我应该使用JAVA_HOME?

白萧迟
2023-03-14

在最近的许多情况下,但现在我尝试使用安装程序,它会抛出一个错误,并表示“Java未安装”,即使JAVA_HOME设置为Windows 10 64x的AdoptOpenJDK安装程序安装的JDK。我无法找到修复它的方法,不管怎样,今天我尝试安装NetBeans8.2,它显示了这个错误,但我发现您可以向安装程序(--javahome)传递一个参数,然后错误消息从“JDK没有找到(在您的机器中)”变为“无法找到一个JRE(在给定的位置中)”,这更奇怪。然后我将JRE作为javahome传递,它工作了,这让我很惊讶,在安装程序中,您可以选择netbeans应该使用哪个jdk,并且它正确地显示了安装的jdk。嘘...为什么会这样?

Edit:JAVA_HOME是“C:\program files\adoptopenjdk\jdk-13.0.2.8-hotspot\”,在安装期间我没有更改它

javahome参数是“C:\program files\adoptopenjdk\jdk8u242-b08-jre”,安装后我意识到它不在路径中

但是我100%肯定“C:\program files\AdoptOpenJDK\jdk-13.0.2.8-hotspot\”在路径中,这很奇怪,因为根据我读到的东西,AdoptOpenJDK安装程序安装的是带有JRE的JDK?或者至少JDK不应该是JRE的超集吗?

共有1个答案

宗政权
2023-03-14

你的实际问题不清楚,但这看起来像是一个X-Y问题。您真正的问题是安装NetBeans8.2时遇到了问题(对吧?),但是您错误地得出结论认为原因与java_home的设置有关。它不是。

首先,在NetBeans 8.2下载页面中,请注意“JDK 8是安装和运行Java SE、Java EE和所有NetBeans包所必需的。NetBeans 8.2不能在JDK 9或更高版本上运行”。因此,至少部分问题是您试图将JDK13与NetBeans8.2一起使用。那是行不通的。

其次,您不需要为NetBeans8.2设置环境变量JAVA_HOME来工作。我只是故意破坏了JAVA_HOME的设置,NetBeans8.2重新启动并正常工作。这是一件好事,因为您可能出于与NetBeans完全无关的其他原因而合法地希望将JAVA_HOME设置为任意JDK,如果NetBeans 8.2依赖于JAVA_HOME,那么这样做可能会破坏NetBeans 8.2。

  • 找到文件netbeans.conf。它是一个文本文件,位于NetBeans 8.2安装下的etc目录中。
  • 在任何文本编辑器中打开该文件,并找到包含文本netbeans_jdkhome.
  • 的行
  • 如果该行以#(表示注释行)开头,请删除该行,然后设置netbeans_jdkhome以指定JDK 8安装的路径。在我的Windows10计算机上,该行如下所示:netbeans_jdkhome=“c:\java\jdk1.8.0_221”.
  • 确保有一个未注释的行将值设置为netbeans_jdkhome(将在JDK8安装目录中),然后将更改保存到NetBeans.conf并(重新)启动NetBeans8.2。

希望这就是你解决问题所需要做的,但如果不是,请更新你的问题,以澄清需要解决的确切问题。

 类似资料:
  • 我想知道docker-image的用例是什么? 在哪些情况下,我应该使用而不是? 是否存在任何众所周知的问题(例如,某些监控工具不适用于?)

  • 问题内容: 我在理解Java JRE的一些基本知识时遇到了麻烦。 我需要在嵌入式系统中运行Java代码,为此,我需要在Linux内核中安装最小的Java运行时环境,即执行Java二进制文件所需的最小程序包。我认为仅使用JVM是不可能的(JRE包是必需的,在这里我错了吗?) 事情是,看着Debian仓库的时候我也不太明白软件包之间的差异,和。Java程序将仅与前者一起运行吗?还是需要其中三个? 这是

  • 我将指向。很好用。之后,解压ant并设置与ant相关的环境变量,在键入后,得到以下错误消息 我搜索了这个论坛。看起来一个解决方案是将Java指向JDK,而不是JRE。我不确定这是否应该是解决办法。换句话说,一般来说,JAVA_HOME应该指向哪一个?JDK还是JRE?

  • JVM、JDK、JRE和OpenJDK之间的区别是什么? 我在Java编程时遇到了这些短语,它们之间有什么不同?

  • $java-version给出:java版本“1.6.0_31”OpenJDK运行时环境(IcedTea6 1.13.3)(6b31-1.13.3-1ubuntu1~0.12.04.2)OpenJDK客户端VM(build 23.25-B01,混合模式,共享) 我该怎么办?在访问openjdk.java.net/install/时,我没有找到为Ubuntu下载更新的openjdk的方法

  • 问题内容: JVM,JDK,JRE和OpenJDK有什么区别? 我在用Java编程时遇到了这些短语,它们之间有什么区别? 问题答案: 虚拟机 在Java虚拟机(JVM)是运行Java字节代码的虚拟机。JVM不理解Java源代码;这就是为什么需要编译文件以获取包含JVM可以理解的字节码的文件的原因。它也是允许Java成为“便携式语言”的实体(编写一次,可以在任何地方运行)。实际上,对于不同的系统(W