阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

为什么JDK的RPM包安装方式不需要配置Java环境变量

22次阅读
没有评论

共计 1112 个字符,预计需要花费 3 分钟才能阅读完成。

导读 Linux 的几种软件安装方式:源码编译、压缩包、RPM 包,最简单的当然是 RPM 安装方式,不需配置环境,不需安装相关依赖(依赖自动安装),一直好奇为什么这种方式不需要配置环境。

为什么 JDK 的 RPM 包安装方式不需要配置 Java 环境变量

通过 RPM 方式安装时,是严格遵照 Linux 对环境变量的路径的要求,比如:

/usr/bin 可执行的命令安装目录
/usr/lib 程序所使用的库函数保存位置
/usr/share/doc 基本的软件使用手册保存位置
/usr/share/man 帮助文件保存位置

举例来说,我使用 RPM 安装的 jdk1.8,安装完成后,没做任何配置,即可全局使用 java 命令,本以为安装过程自动在~/.bash_profile 或者 /etc/profile 中做了环境配置,但是查看后并没有,通过 $PATH 也查看不到 jdk 的路径。
但是在 /usr/bin 中看到了如下:

为什么 JDK 的 RPM 包安装方式不需要配置 Java 环境变量

也就是说,将 jdk 安装目录下的 bin 下的 java、javac 等命令“复制”到了这里,当然这不是简单的复制,但道理就是那个道理。所以,也就是说,当我们在任意的位置执行 java 相关命令时,系统会到 /usr/bin 中来执行。
所以就可以理解为:/usr/bin 是针对 RPM 安装的软件的 profile 文件,RPM 安装过程会自动将一些可执行文件添加到 /usr/bin 里,从而“配置了环境”,而不需我们配置路径到 profile 里。

查看 /usr/lib 后也可以发现其中有 jdk 安装目录下的 lib 中的相关包,查看 /usr/share/man 后也可以发下其中有 jdk 安装目录下的 man 中的相关文档。
所以,说到这里,应该可以理解为什么 RPM 不需配置环境了。

所以,在执行 Java 某一个命令时,若其按照 RPM 方式安装,就到 /usr/bin 下寻找该命令,找到便执行;若其是按照普通方式安装,就到 profile 文件里配置的路径下寻找该命令,找到便执行。

Tips:并不是说随便将一个可执行文件复制到 /usr/bin 中就可以全局执行(亲测不行)。如果是通过源码编译安装的 JDK,则需要配置环境变量。

JDK 环境变量的作用:

JAVA_HOME = 你的 JDK 安装位置
CLASSPATH = .;%JAVA_HOME%\lib
PATH = %JAVA_HOME%\bin

第一个 JAVA_HOME 主要是给后面两个环境变量使用的。

第二个 CLASSPATH 指定的是默认的类库的位置,如上设置,为当前目录和 JAVA_HOME 的 lib 目录

第三个 PATH 是把 java 的 bin 加入到系统路径中,这样在命令行或其他程序全局调用 java,javac, javaw 等命令了。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2025-02-07发表,共计1112字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中