jre / jre-1.7.0 / jre-1.7.0-openjdk / jre-openjdk /jre-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64的区别
The difference between jre / jre-1.7.0 / jre-1.7.0-openjdk / jre-openjdk /jre-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64
1。我的查询和我研究的内容
在我为 Linux X64 (8u181-b13) 安装 JDK 后,/usr/lib/jvm 的目录包含以下符号 link 的 jre。
Terminal Screenshot
lrwxrwxrwx 1 root root 21 May 29 2020 jre -> /etc/alternatives/jre
lrwxrwxrwx 1 root root 27 May 12 2020 jre-1.7.0 -> /etc/alternatives/jre_1.7.0
lrwxrwxrwx 1 root root 35 May 12 2020 jre-1.7.0-openjdk -> /etc/alternatives/jre_1.7.0_openjdk
lrwxrwxrwx 1 root root 54 May 12 2020 jre-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64 -> java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64/jre
lrwxrwxrwx 1 root root 27 May 12 2020 jre-1.8.0 -> /etc/alternatives/jre_1.8.0
lrwxrwxrwx 1 root root 35 May 12 2020 jre-1.8.0-openjdk -> /etc/alternatives/jre_1.8.0_openjdk
lrwxrwxrwx 1 root root 51 May 12 2020 jre-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64 -> java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64/jre
lrwxrwxrwx 1 root root 29 May 12 2020 jre-openjdk -> /etc/alternatives/jre_openjdk
我的问题是这些版本有什么区别,安装 Tomcat8.5.55 时应指定哪些版本。
jre
jre-1.7.0
jre-1.7.0-openjdk
jre-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64
jre-openjdk
据我搜索,我对每个符号link的理解如下。
jre
-是一个符号link指向
/etc/alternatives/jre
-只包含JRE不包含JDK
-我从 jre-1.7.0 和 jre-1.8.0 中发现的区别是这个 jre 包括“jjs”,它是一个 javascript 库,现在已经过时了
jre-1.7.0
- 是一个符号 link 指向
/etc/alternatives/jre_1.7.0
-只包含JRE不包含JDK
jre-1.7.0-openjdk
- 是一个符号 link 指向
/etc/alternatives/jre_1.7.0_openjdk
-只包含JRE不包含JDK,只从open安装JRE部分JDK.
jre-openjdk
- 是一个符号 link 指向
/etc/alternatives/jre_openjdk
-它是 JavaSE 的开源实现,其中包括 JDK。
2。查询背景&我想做什么
我现在正尝试在 CentOS 中安装 Tomcat 8.5.55 7.I 我问这个问题是因为,当我创建 tomcat 服务文件时,有一行指定 JAVA_HOME ,我想不通在这个路径中是给"jre"还是"jre-1.7.0"还是"jre-1.8.0"。
Environment=JAVA_HOME=/usr/lib/jvm/jre
[整个 tomcat.service 文件]
# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_PID=[Tomcat Home Directory]/temp/tomcat.pid
Environment=CATALINA_HOME=[Tomcat Home Directory]
Environment=CATALINA_BASE=[Tomcat Home Directory]
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=[Tomcat Home Directory]/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
enter image description here
Apache Tomcat versions 页面列出了与各种 Tomcat 版本兼容的 Java 版本。它说 Tomcat 8.5.x 需要 Java 7 或更高版本 .
但是,Java 7 已停产,因此 Java 8 是可取的。
I understand that "jre-1.7.0","jre-1.8.0" are different versions, but how about the difference between "jre" and "jre-1.7.0"?
该目录中的 jre
条目是符号 link。它最终解析为使用 update-alternatives
命令选择为默认的 JRE 版本。
您可以通过手写符号 link 或 运行 update-alternatives --display java
来弄清楚
可能建议使用 jre-1.7.0
或 jre-1.8.0
symlink 以便您的 Tomcat 服务使用 latest Java 7 或 8 安装由包管理器安装。 (Java 8 仍在获取更新...)
至于具体的区别,目前还无法给出明确的答案。 symlinks 的设计是由为您的 Linux 发行版实施 OpenJDK 打包的人员完成的。它可能在不同的发行版中有所不同(例如 Ubuntu 与 RHEL)。它甚至可以在同一发行版的不同版本之间更改,尽管那将是“不幸的”。
但是,我会假设标记为“jre”的东西只是一个 JRE。如果我想要/需要 JDK,我会确保我已经安装了“jdk”包,然后使用相应的 symlink 作为“jdk” .
JRE 与 JDK 的区别将成为过去。从 Java 9 开始,Oracle Java 和 OpenJDK Java 版本只有 JDK 个版本。从“Hirsute”开始,Ubuntu 发行版包装仍在为 OpenJDK 区分 JRE 和 JDK 包,但我的猜测是 Ubuntu Java 打包维护者会认为它不值得。
1。我的查询和我研究的内容
在我为 Linux X64 (8u181-b13) 安装 JDK 后,/usr/lib/jvm 的目录包含以下符号 link 的 jre。Terminal Screenshot
lrwxrwxrwx 1 root root 21 May 29 2020 jre -> /etc/alternatives/jre
lrwxrwxrwx 1 root root 27 May 12 2020 jre-1.7.0 -> /etc/alternatives/jre_1.7.0
lrwxrwxrwx 1 root root 35 May 12 2020 jre-1.7.0-openjdk -> /etc/alternatives/jre_1.7.0_openjdk
lrwxrwxrwx 1 root root 54 May 12 2020 jre-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64 -> java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64/jre
lrwxrwxrwx 1 root root 27 May 12 2020 jre-1.8.0 -> /etc/alternatives/jre_1.8.0
lrwxrwxrwx 1 root root 35 May 12 2020 jre-1.8.0-openjdk -> /etc/alternatives/jre_1.8.0_openjdk
lrwxrwxrwx 1 root root 51 May 12 2020 jre-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64 -> java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64/jre
lrwxrwxrwx 1 root root 29 May 12 2020 jre-openjdk -> /etc/alternatives/jre_openjdk
我的问题是这些版本有什么区别,安装 Tomcat8.5.55 时应指定哪些版本。
jre
jre-1.7.0
jre-1.7.0-openjdk
jre-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64
jre-openjdk
据我搜索,我对每个符号link的理解如下。
jre
-是一个符号link指向
/etc/alternatives/jre
-只包含JRE不包含JDK
-我从 jre-1.7.0 和 jre-1.8.0 中发现的区别是这个 jre 包括“jjs”,它是一个 javascript 库,现在已经过时了
jre-1.7.0
- 是一个符号 link 指向/etc/alternatives/jre_1.7.0
-只包含JRE不包含JDK
jre-1.7.0-openjdk
- 是一个符号 link 指向/etc/alternatives/jre_1.7.0_openjdk
-只包含JRE不包含JDK,只从open安装JRE部分JDK.
jre-openjdk
- 是一个符号 link 指向 /etc/alternatives/jre_openjdk-它是 JavaSE 的开源实现,其中包括 JDK。
2。查询背景&我想做什么
我现在正尝试在 CentOS 中安装 Tomcat 8.5.55 7.I 我问这个问题是因为,当我创建 tomcat 服务文件时,有一行指定 JAVA_HOME ,我想不通在这个路径中是给"jre"还是"jre-1.7.0"还是"jre-1.8.0"。Environment=JAVA_HOME=/usr/lib/jvm/jre
[整个 tomcat.service 文件]
# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_PID=[Tomcat Home Directory]/temp/tomcat.pid
Environment=CATALINA_HOME=[Tomcat Home Directory]
Environment=CATALINA_BASE=[Tomcat Home Directory]
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=[Tomcat Home Directory]/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
enter image description here
Apache Tomcat versions 页面列出了与各种 Tomcat 版本兼容的 Java 版本。它说 Tomcat 8.5.x 需要 Java 7 或更高版本 .
但是,Java 7 已停产,因此 Java 8 是可取的。
I understand that "jre-1.7.0","jre-1.8.0" are different versions, but how about the difference between "jre" and "jre-1.7.0"?
该目录中的 jre
条目是符号 link。它最终解析为使用 update-alternatives
命令选择为默认的 JRE 版本。
您可以通过手写符号 link 或 运行 update-alternatives --display java
可能建议使用 jre-1.7.0
或 jre-1.8.0
symlink 以便您的 Tomcat 服务使用 latest Java 7 或 8 安装由包管理器安装。 (Java 8 仍在获取更新...)
至于具体的区别,目前还无法给出明确的答案。 symlinks 的设计是由为您的 Linux 发行版实施 OpenJDK 打包的人员完成的。它可能在不同的发行版中有所不同(例如 Ubuntu 与 RHEL)。它甚至可以在同一发行版的不同版本之间更改,尽管那将是“不幸的”。
但是,我会假设标记为“jre”的东西只是一个 JRE。如果我想要/需要 JDK,我会确保我已经安装了“jdk”包,然后使用相应的 symlink 作为“jdk” .
JRE 与 JDK 的区别将成为过去。从 Java 9 开始,Oracle Java 和 OpenJDK Java 版本只有 JDK 个版本。从“Hirsute”开始,Ubuntu 发行版包装仍在为 OpenJDK 区分 JRE 和 JDK 包,但我的猜测是 Ubuntu Java 打包维护者会认为它不值得。