[Linux] Ubuntu系统下设置Java环境

注:本文参考了 https://blog.csdn.net/nanshenjiang/article/details/81193796 的方法,这个方法是有效的,但是我在实际操作中遇到了和那位博主不太一样的情况,所以部分命令是不一样的。读者可以相互比较着看。

1. 下载源码包

首先到官网下载jdk,我下载的是 jdk-8u201-linux-x64.tar.gz ,下载到主目录。
下载地址: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
在这里插入图片描述

2. 解压源码包

我们要在/usr/local文件夹下新建java文件夹,然后把源码包解压到java文件夹里

1 . 首先通过终端在/usr/local目录下新建java文件夹,命令行:

sudo mkdir /usr/local/java

2 . 然后进入源码包所在的目录(我这里是主目录)

cd ~

3 . 将下载好的压缩包拷贝到java文件夹中

cp jdk-8u201-linux-x64.tar.gz /usr/local/java

这个时候,有可能出现访问权限不够的问题:
cp: 无法创建普通文件’/usr/local/java/jdk-8u201-linux-x64.tar.gz’: 权限不够

4 . 如果出现访问权限的问题,是由于java文件夹的访问权限不够 ,我们需要修改java文件夹的访问权限

cd /usr/local //进入java文件夹上一层文件夹local
ls -ld java //查询java文件夹的访问权限

查询显示,我的java文件夹的访问权限是:
drwxr-xr-x 2 root root 4096 4月 5 16:19 java
最前面的d代表的是类型,可以暂时不用管它,后面的九位代表权限,常见的有以下一些权限

-rw------- (600) 只有所有者才有读和写的权限
-rw-r–r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx–x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限

为了方便,将java文件夹的权限改为777(每个人都有读和写以及执行的权限):

sudo chmod 777 java

在设置完java文件夹的权限后,再重复上面2和3 步骤,将下载好的压缩包拷贝到java文件夹中。

5 . 进入java目录,解压压缩包,命令行:

cd /usr/local/java //进入java目录
sudo tar xvf jdk-8u201-linux-x64.tar.gz //解压压缩包

6 . 成功解压后,可以把压缩包删除,命令行:

sudo rm jdk-8u201-linux-x64.tar.gz

7 . 删除压缩包后,查询java文件夹中有什么内容,如果一切正常,应该会有一个名字是 jdk1.8.0_201 的文件夹,把 jdk1.8.0_201 这个文件夹的名字记录一下,后面会用到。
当然,读者在实际操作时,jdk的版本号可能和我的不一样,只要把这个文件夹的名字记录下来即可。

ls // 查询java文件夹中的内容

查询结果:
jdk1.8.0_201

3. 设置jdk环境变量

Linux中有个 /etc/environment 文件,它里面是整个系统的环境变量,而且与登陆用户无关。我们可通过修改 /etc/environment 文件来设置jdk环境变量。

1 . 进入etc文件夹

cd /etc //进入etc文件夹

2 . 使用文本编辑器打开 /etc/environment文件

sudo gedit /etc/environment //使用gedit编辑器打开environment文件

3 . 有可能会遇到 无法连接:拒绝连接 的问题
No protocol specified
Unable to init server: 无法连接: 拒绝连接

(gedit:3951): Gtk-WARNING **: cannot open display: :0

这同样是由于访问权限不够所致。

ls -ld environment //查询environment访问权限

查询结果显示:
-rw-r–r-- 1 root root 96 10月 19 2017 environment
为了方便,将environment文件的权限改为777(每个人都有读和写以及执行的权限):

sudo chmod 777 environment

然后,用编辑器打开environment

gedit environment

设置完权限后,在我的电脑上,用sudo gedit environment 还是无法打开environment的,但是gedit environment 却可以,我不知道为什么,如果哪位大神知道欢迎留言指正。

4 . 修改 /etc/environment文件
在environment中的PATH变量上面两行新建两个变量。
其中jdk1.8.0_201是之前在解压压缩包时记录的,如果当时没有记录,可以重新返回java文件夹查询。

JAVA_HOME="/usr/local/java/jdk1.8.0_201"
CLASSPATH=".:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar"

同时在PATH中添加

$JAVA_HOME/bin

注意与PATH原有的值之间用英文冒号:分隔,切勿把原来的值删除。
然后保存,关闭。

5 . 更新environment

source /etc/environment //更新

6 . 恢复etc/environment 原来的权限

sudo chmod 644 environment

7 . 改变默认jdk
Ubuntu系统默认安装并使用OpenJDK(usr/lib/jvm/),因此需要手动修改系统默认的JDK,

sudo update-alternatives --install /usr/bin/javac javac /usr/local/java/jdk1.8.0_201/bin/javac 300
sudo update-alternatives --install /usr/bin/java java /usr/local/java/jdk1.8.0_201/bin/java 300

正常情况下,会出现
update-alternatives: 使用 /usr/local/java/jdk1.8.0_201/bin/javac 来在自动模式中提供 /usr/bin/javac (javac)
update-alternatives: 使用 /usr/local/java/jdk1.8.0_201/bin/java 来在自动模式中提供 /usr/bin/java (java)
的提示。

然后再选择相应的Priority 300,如果出现 “只有一个候选项,无需配置”的提示,那也是正常的。

sudo update-alternatives --config javac
sudo update-alternatives --config java

至此配置完成。

4. 检验是否安装成功

在终端输入如下命令

java -version

看看是否安装成功,成功则显示如下:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值