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

使用HomeBrew安装Java OpenJDK:为什么在不同的位置有相同版本的Java?

羊舌高峰
2023-03-14

按照这里和这里的帖子,我必须安装两个不同版本的Java/OpenJDK

brew install java
brew cask install java

现在我有openjdk 13.0.2

openjdk 13.0.2 2020-01-14
OpenJDK Runtime Environment (build 13.0.2+8)
OpenJDK 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing)

在两个不同的地方

  • /us r/local/opt/open j dk/bin
  • /usr/local/opt/openjdk/libexec/openjdk.jdk/Contents/Home/bin/

和<code>openjdk 14</code>

openjdk 14 2020-03-17
OpenJDK Runtime Environment (build 14+36-1461)
OpenJDK 64-Bit Server VM (build 14+36-1461, mixed mode, sharing)

也在两个不同的位置

  • /系统/库/框架/JavaVM.framework/Versions/Current/Commands/
  • /库/Java /JavaVirtualMachines/openjdk-14.jdk/Contents/Home/bin/

所以我的问题是

  • 为什么每次安装OpenJDK都有两个不同的位置
  • 如何确定我的系统上是否有更多的JDK安装?运行<code>sudofind/-name java</code>,使我的终端无效(请参阅此处的日志)
  • 如何知道这些不同版本的java是如何安装的
  • 我知道JDK是Java SDK,JRE(Java运行时环境)是我认为OpenJDK没有的甲骨文(?)但看看OpenJDK下载页面,“JMC”和“Java SE”是什么

共有1个答案

丌官和泰
2023-03-14

你现在看到的是JDK在macOS上的工作方式。但基本上你应该知道,我们有两个实体称为JDK和JRE。JDK是java开发人员编译和运行应用程序的工具。JRE是供客户端运行java应用程序的运行时。JDK包含一个JRE,所以当你有JDK的时候你不需要安装JRE。

JDK是一个基于操作系统的文件夹,你可以将它复制粘贴到任何你需要的地方,只需将bin文件夹添加到你的< code>PATH即可。因此,您可能有许多JDK文件夹,但只有添加到< code>PATH中的那个文件夹是您当前的工作JDK,它们不会同时在一个环境中工作,但您可以在不同的用户配置文件上有多个Java版本。

  1. 你所拥有的是一个安装,它的元数据和链接遍布整个macOS
  2. 硬盘周围可以有多个JDK文件夹,但当前只有一个文件夹在工作,这就是用户配置文件中的文件夹
  3. 我不知道如何找到它们是如何安装的。您可以在操作系统中查询诸如brew之类的工具,以了解它们是否安装了任何java,但不是从JDK本身安装的
  4. JMC是java任务控制,它是一个针对java应用程序的监控应用程序。正如我所说,JRE是运行应用程序的运行时,OpenJDK本身也包含运行时。JavaSE是Java for Standard edition的规范,因为我们也有其他版本
 类似资料:
  • 在我维护的包中,有一个包含一个未固定的依赖项。安装我的软件包在本地显示的行为与在Travis上显示的行为不同: 在本地运行包上的将导致安装Pandas版本。 在Travis配置项内运行相同的将导致安装Pandas版本(指向作业的链接)。 在这两种情况下,pip和setuptools的版本是相同的(,)。 我没有指定显式索引(而且在本地我没有全局pip配置),所以我假设两者都应该使用标准PyPI索引

  • 问题内容: 是否可以在同一台计算机上安装不同版本的NodeJS? 问题答案: 您可以使用几种节点管理器来实现此目的,但是最受欢迎的是: 虚拟机 ñ

  • 我正在测试声纳以确保关闭数据库连接,我有我不明白的额外结果。 我正在使用嵌入的maven版本3.3.9尝试执行eclipse中maven目标“sonar:sonar”的两个版本的代码。 我试过sonarqube服务器的三个版本:5.6.6、6.2和6.4。 使用此代码 关于关闭资源,我有以下问题: sonarqube 5.6.6: 关闭此“连接” 关闭此“准备语句” Sonarqube 6.2:

  • 我希望使用在Mac上安装Java。使用命令可以很好地工作。这将安装最新的稳定版本,当前为-。但是,如何安装特定的版本,例如。

  • 问题内容: 我默认使用python2.6的ubuntu 10.04。我已经安装了python2.7。 当我想安装python软件包时 它被安装到python2.6。我如何才能将软件包安装到python2.7?有什么选择吗? 我已经看过这个,但我找不到我的OS这样的目录。我考虑过使用,但并非所有软件包都受支持。例如。 我对将python2.7与绑定更感兴趣。 问题答案: Python具有自己的软件包

  • 问题内容: 在以下代码中,我不明白为什么当它属于两个不同的对象时具有相同的ID? 问题答案: 我认为这是正在发生的事情: 取消引用时,将在内存中创建其副本。该存储位置由以下位置返回 由于没有引用到刚刚创建的方法的副本,因此GC将其回收,并且该内存地址再次可用 取消引用时,将在相同的内存地址(可用)中创建它的副本,您可以再次使用该地址。 第二个副本是GCd 如果您要运行一堆其他代码并再次检查实例方法