什么时候和为什么运行的替代品 – 安装java jar javac javaws在linux中安装jdk

在linux下安装java(我用的是CentOS,RHEL也一样),我用这个命令

rpm -Uvh /path/to/binary/jdk-7u55-linux-x64.rpm

并validation了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分别为每个可执行文件。

我看过这个问题,但没有得到我的答案

Solutions Collecting From Web of "什么时候和为什么运行的替代品 – 安装java jar javac javaws在linux中安装jdk"

在Linux上安装JDK时,它将根据软件包的类型,版本和分布进行安装。 您可以参考以下链接了解有关在Linux上安装位置的信息:

用于Linux平台的JDK安装 – 版本8

适用于Linux平台的JDK安装 – 版本7

一旦安装了JDK,包含工具的bin文件夹可能不会被添加到环境变量PATH 。 在终端上键入的命令需要来自PATH变量中指定的位置。 在JDK\bin没有被添加的情况下,用户需要按照安装JDK软件所述手动配置它

正在使用alternatives命令来创建一个符号链接。 在这里,直接使用命令将默认情况下存在于PATH变量中的工具(如javacjavaw/usr/bin中。

如果(你可以在JDK/bin &&以外执行java -version ,而不是通过指定完整的路径&&如果版本和捆绑软件被打印成与你安装的软件包一样){你不需要运行alternatives命令。

javajavawsjavacjar都是由JDK使用的不同的可执行文件。 当你运行alternatives --config java你只是配置你想运行的那个版本的java可执行文件。 但是,JDK包含(例如) javac编译器。 您还需要配置您希望使用的编译器版本。

简而言之, alternatives命令用于维护符号(或sym)链接的查找。 在使用--configure选项选择要运行的java版本之前,必须首先使用--install选项注册可执行文件的实际路径。 alternatives --install不安装任何软件。 它只是用alternatives框架注册一些路径和别名。 (注: alternatives不使用alias命令,我的意思是传统字面意义上的“别名”。)

你也应该明白rpm命令的作用。 真的,它只是把一组二进制文件放到一个特定的目录中。 这个目录可能很长很冗长,以明确指定: /some/path/to/lib/jvm/java-1.xx-etc-etc-x86/jre/bin/java 。 你不想每次你想运行java时都指定这个。 相反,我们建立了一些sym链接。

您可能还想了解PATH如何在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 

这些“替代”脚本和类似的工具只是将所需JDK版本的二进制文件链接到它们预期的目录中。 这是为了在命令行上可用的所有命令完成的。

“全部”的定义取决于你的发行版。

也许,只是导游已经过时了。

安装rpm后,可以检查:

另类 – 显示Java

看看你是否可以看到新版本是由替代控制,如果不是你需要“ – 安装”他们; 否则,我想你可以跳过“–install”部分。