何时以及为何 运行 替代方案 --install java jar javac javaws 在 linux 中安装 jdk
When and Why run alternatives --install java jar javac javaws on installing jdk in linux
在linux中安装java(我用的是CentOS,RHEL也一样),我用的是这个命令
rpm -Uvh /path/to/binary/jdk-7u55-linux-x64.rpm
并验证 java
java -version
看一个教程,它说运行遵循4个命令,不知道为什么
## java ##
alternatives --install /usr/bin/java java /usr/java/latest/jre/bin/java 200000
## javaws ##
alternatives --install /usr/bin/javaws javaws /usr/java/latest/jre/bin/javaws 200000
## Install javac only
alternatives --install /usr/bin/javac javac /usr/java/latest/bin/javac 200000
## jar ##
alternatives --install /usr/bin/jar jar /usr/java/latest/bin/jar 200000
我知道如果 java 安装了多个版本,你可以从
select 版本使用
alternatives --config java
那为什么要 运行 alternative --install
分别为每个可执行文件。
我看过
this 问题但没有得到我的答案
java
、javaws
、javac
和 jar
都是 JDK 使用的不同可执行文件。当您 运行 alternatives --config java
时,您只是在配置您希望 运行 的 java
可执行文件的哪个版本。然而,JDK 包括,例如,javac
编译器。您还需要配置要使用的编译器版本。
alternatives 命令简而言之,用于维护对符号(或符号)链接的查找。在您可以使用 --configure
选项选择要 运行 的 java
版本之前,您必须首先使用 --install
选项注册可执行文件的实际路径。 alternatives --install
没有安装任何软件。它只是向 alternatives
框架注册一些路径和别名。 (注意:alternatives
不是使用 alias
命令。我的意思是传统意义上的 "aliases"。)
您还应该了解 rpm
命令的作用。实际上,它只是将一组二进制文件放到特定目录中。该目录可能冗长乏味,无法明确指定:/some/path/to/lib/jvm/java-1.x.x-etc-etc-x86/jre/bin/java
。您不想每次都指定它 运行 java
。相反,我们设置了一些符号链接。
您可能还想阅读 PATH
works in linux。
如果您尝试跟踪您机器的设置,它可能会变得更清楚。这是我运行:
> which java
/usr/bin/java
> ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 Aug 14 2014 /usr/bin/java -> /etc/alternatives/java
> ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 73 Aug 14 2014 /etc/alternatives/java -> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65-2.5.1.2.fc19.x86_64/jre/bin/java
当您在 Linux 上安装 JDK 时,安装的内容取决于包的类型、版本和分发。 linux上的安装位置可以参考以下link:
JDK Installation for Linux Platforms - Version 8
JDK Installation for Linux Platforms - Version 7
安装 JDK 后,包含工具的 bin
文件夹可能不会添加到环境变量 PATH
。在终端上键入的命令需要来自 PATH
变量中指定的位置。如果 JDK\bin
没有被添加,用户需要手动配置它,如 Installing the JDK Software
中所述
alternatives
命令正在用于创建符号 link。这里指示使用命令添加javac
、javaw
到/usr/bin
等工具,默认存在于PATH
变量中
If( 你可以在 JDK/bin
&& 之外执行 java -version
而不是通过指定完整路径 && 如果版本和包打印为您安装的包 ){ 您不需要 运行 alternatives
命令。}
也许,指南已经过时了。
安装rpm后,可以查看:
alternatives --display java
看看你是否能看到新版本是由替代品控制的,如果不是你需要“--install”它们;否则,我认为您可以跳过“--install”部分。
这些 "alternatives" 脚本和类似工具只是将所需 JDK 版本的二进制文件符号链接到它们预期的目录。它适用于您的命令行上应该可用的所有命令。
"all" 的定义取决于您的发行版。
要将 java JRE/JDK 的不同版本作为 OS 中的默认版本:
sudo alternatives --install /usr/bin/java java [path_to_java_bin] 1
我的例子是:
sudo alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_80/bin/java 1
然后 运行 配置 select 替代 java 版本:
sudo /usr/sbin/alternatives --config java
选择 1,2 或您想要的选项
然后检查更改:
java -version
对于 Ubuntu 使用 update-alternatives
在linux中安装java(我用的是CentOS,RHEL也一样),我用的是这个命令
rpm -Uvh /path/to/binary/jdk-7u55-linux-x64.rpm
并验证 java
java -version
看一个教程,它说运行遵循4个命令,不知道为什么
## java ##
alternatives --install /usr/bin/java java /usr/java/latest/jre/bin/java 200000
## javaws ##
alternatives --install /usr/bin/javaws javaws /usr/java/latest/jre/bin/javaws 200000
## Install javac only
alternatives --install /usr/bin/javac javac /usr/java/latest/bin/javac 200000
## jar ##
alternatives --install /usr/bin/jar jar /usr/java/latest/bin/jar 200000
我知道如果 java 安装了多个版本,你可以从
select 版本使用alternatives --config java
那为什么要 运行 alternative --install
分别为每个可执行文件。
我看过 this 问题但没有得到我的答案
java
、javaws
、javac
和 jar
都是 JDK 使用的不同可执行文件。当您 运行 alternatives --config java
时,您只是在配置您希望 运行 的 java
可执行文件的哪个版本。然而,JDK 包括,例如,javac
编译器。您还需要配置要使用的编译器版本。
alternatives 命令简而言之,用于维护对符号(或符号)链接的查找。在您可以使用 --configure
选项选择要 运行 的 java
版本之前,您必须首先使用 --install
选项注册可执行文件的实际路径。 alternatives --install
没有安装任何软件。它只是向 alternatives
框架注册一些路径和别名。 (注意:alternatives
不是使用 alias
命令。我的意思是传统意义上的 "aliases"。)
您还应该了解 rpm
命令的作用。实际上,它只是将一组二进制文件放到特定目录中。该目录可能冗长乏味,无法明确指定:/some/path/to/lib/jvm/java-1.x.x-etc-etc-x86/jre/bin/java
。您不想每次都指定它 运行 java
。相反,我们设置了一些符号链接。
您可能还想阅读 PATH
works in linux。
如果您尝试跟踪您机器的设置,它可能会变得更清楚。这是我运行:
> which java
/usr/bin/java
> ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 Aug 14 2014 /usr/bin/java -> /etc/alternatives/java
> ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 73 Aug 14 2014 /etc/alternatives/java -> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65-2.5.1.2.fc19.x86_64/jre/bin/java
当您在 Linux 上安装 JDK 时,安装的内容取决于包的类型、版本和分发。 linux上的安装位置可以参考以下link:
JDK Installation for Linux Platforms - Version 8
JDK Installation for Linux Platforms - Version 7
安装 JDK 后,包含工具的 bin
文件夹可能不会添加到环境变量 PATH
。在终端上键入的命令需要来自 PATH
变量中指定的位置。如果 JDK\bin
没有被添加,用户需要手动配置它,如 Installing the JDK Software
alternatives
命令正在用于创建符号 link。这里指示使用命令添加javac
、javaw
到/usr/bin
等工具,默认存在于PATH
变量中
If( 你可以在 JDK/bin
&& 之外执行 java -version
而不是通过指定完整路径 && 如果版本和包打印为您安装的包 ){ 您不需要 运行 alternatives
命令。}
也许,指南已经过时了。
安装rpm后,可以查看:
alternatives --display java
看看你是否能看到新版本是由替代品控制的,如果不是你需要“--install”它们;否则,我认为您可以跳过“--install”部分。
这些 "alternatives" 脚本和类似工具只是将所需 JDK 版本的二进制文件符号链接到它们预期的目录。它适用于您的命令行上应该可用的所有命令。
"all" 的定义取决于您的发行版。
要将 java JRE/JDK 的不同版本作为 OS 中的默认版本:
sudo alternatives --install /usr/bin/java java [path_to_java_bin] 1
我的例子是:
sudo alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_80/bin/java 1
然后 运行 配置 select 替代 java 版本:
sudo /usr/sbin/alternatives --config java
选择 1,2 或您想要的选项
然后检查更改:
java -version
对于 Ubuntu 使用 update-alternatives