记一次CentOS下安装Java开发环境的曲折经历(使用rpm包安装更方便)

有一个需求要我编写一个Java程序,万年C++的我迫于无奈硬着头皮去了解和学习。遇到的第一个问题就是我需要在CentOS上安装Java开发环境。
一开始想是直接用yum命令安装Java开发环境,于是就在论坛上找了一些方法,二话不说直接在bash输入

yum install  java-1.8.0-openjdk.x86_64

安装好之后试了一下

java -version

确实是安装好了,后面也修改了/etc/profile文件但是等我要编译java文件的时候就尴尬了,javac命令找不到,我找了很多方法都没有很好地解决这个问题。

最后我在这个网址找到了原因,使用yum安装的java环境是OpenJDK

OpenJDK和Oracle JDK的区别
一般生产线上使用的是Oracle的java,因为这样配置的java环境更全,功能会更多
1、授权协议的不同
OpenJDK采用GPL V2协议放出,而SUN JDK则采用JRL放出。两者协议虽然都是开放源代码的,但是在使用上的不同在于GPL V2允许在商业上使用,而JRL只允许个人研究使用。OpenJDK不包含Deployment(部署)功能:部署的功能包括:Browser Plugin、Java Web Start、以及Java控制面板,这些功能在OpenJDK中是找不到的。
2、OpenJDK源代码不完整
这个很容易想到,在采用GPL协议的OpenJDK中,SUN JDK的一部分源代码因为产权的问题无法开放给OpenJDK使用,其中最主要的部份就是JMX中的可选元件SNMP部份的代码。因此这些不能开放的源代码 将它作成plug,以供OpenJDK编译时使用,你也可以选择不要使用plug。而Icedtea则为这些不完整的部分开发了相同功能的源代码 (OpenJDK6),促使OpenJDK更加完整。
3、Open Jdk更为精简化
OpenJDK只包含最精简的JDK:OpenJDK不包含其他的软件包,比如Rhino Java DB JAXP……,并且可以分离的软件包也都是尽量的分离,但是这大多数都是自由软件,你可以自己下载加入。 这可能导致yum安装的java环境没有jar命令
4、版本显示
OpenJDK不能使用Java商标,这个很容易理解,在安装OpenJDK的机器上,输入“java -version”显示的是OpenJDK,但是如果是使用Oracle安装的java,显示的是Java™

于是我果断一个命令卸载了原来的JDK

yum remove java-1.8.0-openjdk.x86_64

官网下载rpm包

cd /usr
sudo mkdir java & cd java
sudo wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm

之后简单一句命令搞定一切

sudo rpm -ivh jdk-17_linux-x64_bin.rpm

安装完成之后的环境直接能用,也不需要配置/erc/profile文件。

测试

  • 创建javac helloworld.java
class Test{
  public static void main(String []args){
                System.out.println("test input main arguments");
                System.out.println(args[0]+"  "+args[1]);
                System.out.println("end of main");
  }
 }
  • 编译
javac helloworld.java

这时会生成Test.class文件

  • 运行
java Test.class hello world!

输出结果为:

-bash-4.1# java Test hello world
test input main arguments
hello world
end of main
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值