本文地址:https://www.cnblogs.com/oberon-zjt0806/p/11663731.html

可以,转载,出处,格式,懂??

什么是JDK??

好吧如果你不知道这个问题的话我实在是不知道你为什么要装这个东西。

JDK(Java Development Kit)Sun公司(后被Oracle收购)推出的面向对象程序设计语言开发工具包,拥有这个工具包之后我们就可以使用Java语言进行程序设计和开发。

而今天我们要在Linux环境 下对这个东西进行部署以便能够进行开发,并且是以压缩包解压的方式进行安装,之所以不用rpm方式安装主要是为了能够在所有Linux系统上都通用,rpm和deb最多只能在Red Hat和Debian旗下的Linux系统上分别安装,而且还会有互相转换的问题,但是用压缩包就没有这个问题了,尽管相对要繁琐一些

操作系统:CentOS Linux Release 8.0.1905 (Core)

环境:Virtual Box 虚拟机

那我只想让Java的程序能够在我这上运行呢??

如果你实在懒得找或者找不到JRE的安装教程的话,那你权且也可以跟着这个流程一起走下来,保证你的Java程序确实能够运行,只是你的Linux操作系统上会多出来很多你实际上完全不需要的东西。

如果我想安装其他的版本呢??

JDK 8及以下的版本可能与此有所区别,请参考其他专门安装JDK 8的安装过程。

JDK 10以上应该可这个过程大体没有太多区别,不过参考的时候请务必注意有些位置需要换成你当前的版本代号。

你为什么要在Linux上安装呢??你不是更喜欢在Windows平台拿Eclipse做Java开发吗??

你的问题还真是多啊,你说得对,但是在特别需求的情形下,我不得不采取一些“我不喜欢”的行为。

而这个就是一个,因为我需要在Linux平台下部署Hadoop,而新安装的CentOS里面根本没有Java的环境:

[user@localhost /]$ java -version
bash: java: 未找到命令...

Java SE是Hadoop的一个先决条件

而且如果部署好了的话我也可以用Linux做Java开发了岂不美哉??

但是看起来网上的同类的教程非常多啊

我什么时候说过这是一篇教程了??这只是作为我的一次过程记录而已,如果可能的话我也希望它能够成为其他人的参考,而且我也参考了很多人的安装过程,最终我成功了。

站在了无数巨人的肩膀上。

好了不多说了,那就开始吧。

嗯,确实如此。首先需要安装一个Linux的系统没必要是CentOS,也可以是Ubuntu、Fedora 、Debian什么的随你喜欢,用不用GUI也无所谓,因为即使我安装了一个带有GUI的CentOS,我的安装过程实际上是用bash指令完成的。

在实际进行安装之前,我必须提前说明

和Windows不一样,Linux系统是对大小写敏感的,也就是说/Somewhere/a.zip/somewhere/A.zip并不在同一目录下,也不是同一个文件名,这点请务必注意!!!

下文中出现的所有shell指令的真正内容都是从$之后开始的。

至于你是实体机还是虚拟机这个区别应该不大,你可以实际拿个U盘去装也可以下个VMWare或者Virtual Box什么的。这里我不做说明。

下载JDK压缩包

总之,CentOS 8我安装好了,当然你可能用的是Ubuntu 16.04什么的这个就随便了,接下来要从网络上下载一个JDK13的压缩包(jdk-13_linux-x64_bin.tar.gz

这里假设你无论是GUI下载还是wget下载方式,你都已经把压缩包下载至/usr/download目录下了

如果你的Linux系统有GUI并且系统预装了Firefox,那么你可以像在Windows里一样拿Firefox火速冲到JDK的下载地址,像这样:

如果没有GUI的话,你可以用wget指令:

[user@localhost /usr/lib/jvm/jdk-13]$ su root # 整个过程需要提升为root权限进行,因为普通用户不可以在usr、etc文件夹及它们的子文件夹下进行修改
[root@localhost /]$ mkdir /usr/download # 如果你没有这个目录的话就先键入这个指令,否则直接看下一句
[root@localhost /]$ cd /usr/download
[root@localhost /usr/download]$ wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "https://download.oracle.com/otn-pub/java/jdk/13+33/5b8a42f3905b406298b72d750b6919f6/jdk-13_linux-x64_bin.tar.gz"

注意:因为Oracle官网要求必须登录Oracle账号才能下载JDK等内容,所以直接键入

wget https://download.oracle.com/otn-pub/java/jdk/13+33/5b8a42f3905b406298b72d750b6919f6/jdk-13_linux-x64_bin.tar.gz

下载出来的jdk-13_linux-x64_bin.tar.gz只有5KB(实际上应当是180MB),那个东西根本就不是压缩包而是一个请求页面而已。所以如果通过命令行的方式下载只能通过上面的方式进行下载

下载好了之后查看一下jdk-13_linux-x64_bin.tar.gz的属性:

[root@localhost /]$ ls -al jdk-13_linux-x64_bin.tar.gz
-rw-rw-r--. 1 user user 188711447 9月 19 11:13 jdk-13_linux-x64_bin.tar.gz

在一些Linux操作系统下,此时文件名的位置被显示为红色,意思是说:

这是一个压缩文件

所以不必担心,这不是错误,你可以继续进行。

如果你发现188711447(约180MB)被5307(约5KB)(也就是说文件大小严重不一致)替代了意味着你的下载链接是错误的,请详细阅读上文“注意”里面的内容然后用rm jdk-13_linux-x64_bin.tar.gz删掉这个文件并重新下载,如果大小不一致但是差不多大有可能是你下载了其他的版本,也有可能是压缩包损坏了,如果是后者请重新下载。

我无法连接到互联网,但我在一个局域网络下,并且同网络下其他的机器上有压缩包

那……配置好此系统的网络和SSH协议,然后在安装源主机上建立SSH远程连接,通过SSH的ftp将源主机的压缩包发送到目标机器上然后继续,具体过程以后再说……

解压JDK安装包中的文件

接下来使用tar指令解压压缩包,解压至/usr/lib/jvm目录下:

[root@localhost /usr/download]$ mkdir /usr/lib/jvm
[root@localhost /usr/download]$ tar -xf jdk-13_linux-x64_bin.tar.gz -C /usr/lib/jvm #-- 这一步请耐心等待一会,需要一段时间
[root@localhost /usr/download]$ cd /usr/lib/jvm
[root@localhost /usr/lib/jvm]$ ls
jdk-13

你会看到在/usr/lib/jvm下存在一个叫做jdk-13的文件夹,我们进去看看

[root@localhost /usr/lib/jvm]$ cd jdk-13
[root@localhost /usr/lib/jvm/jdk-13]$ ls
bin conf include jmods legal lib man release

至此,JDK的所有组件都已经备齐了,接下来要进行配置。

添加环境变量

注意:这里要求使用VIM

  • 如果你会使用VIM

    • 啊,那没问题,继续吧
  • 如果你不会使用VIM
    • 如果你使用的Linux系统带有GUI界面

      • 你可以使用预装的文本编辑器进行编辑,就像在Windows里面使用记事本那样。
    • 否则
      • 如果你想了解VIM

        • 找其他人的教程看看VIM的基本操作方法
      • 否则,如果你有值得信赖且能力够强的朋友的话
        • 找他帮你弄弄
      • 否则
        • emmm……我在此由衷地替您感到悲哀

在Windows下使用安装程序安装的时候一般来说环境变量是被自动配置好的,但是很可惜我们现在是手动安装,JDK的工作依赖于大量的环境变量中的路径。

好像Oracle系的软件都是这副死亚子,比如Oracle DB……

JDK需要这样几个环境变量:

  • JAVA_HOME :Java的主目录,你把压缩包包解压之后得到的jdk-13文件夹所在的位置(并且包含jdk-13自身)
  • JRE_HOME:JRE的主目录,JRE是运行Java应用程序的最基本软件环境,所以如果你只是希望Java的程序能够运行的的话你完全不需要安装JDK,尽管JDK里面带有JRE。
  • CLASSPATH:Java提供的标准或公共类库的位置
  • PATH:这是系统的环境变量,这个东西只是告知系统你的Java开发环境被安装在了什么位置,这个东西使你在任意目录下都可以直接执行Java的开发工具比如javac等,直接键入javac就可以执行而不需要再重新键入/usr/lib/jvm/jdk-13/bin/javac

    Linux系统下的环境变量被存储于若干个文件里,其作用范围有所不同,有的只作用于当前用户,而有的作用于全体用户。而我们这里的环境直接对全体用户生效就可以了(因为除了root就我一个用户user),所以,这里我们会对/etc/profile进行修改。

    不过我们现在知道JAVA_HOME=/usr/lib/jvm/jdk-13,这个目录意思是说包含了所有和Java运行环境相关的东西,我们看看里面都有什么
[user@localhost /usr/lib/jvm/jdk-13]$ ls
bin conf include jmods legal lib man release

其中bin是Java所有开发工具(通常是可执行的应用程序)所在的目录,而lib里面则是Java提供的公共类库,当然这个也就是我们在找的CLASSPATH了。

那么,JRE_HOME怎么办呢??

早在JDK 8的时候,安装好的JAVA_HOME下能够找到一个叫做jre的文件夹,但是到JDK 13的时候刚才也看了,哪里有jre呢??

其实不用考虑这个问题,因为新版本的JDK不仅附带JRE,而且把JRE组件直接毁进JDK了,所以JRE_HOME可以直接给成JAVA_HOME就可以了。

因此我们用VIM打开/etc/profile(因为是)进行编辑:

[root@localhost /usr/lib/jvm/jdk-13]$ vim /etc/profile

在这个文件开头加入如下内容:

export JAVA_HOME=/usr/lib/jvm/jdk-13
export JRE_HOME=/${JAVA_HOME}
export CLASSPATH=.:${JAVA_HOME}/libss:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

然后:wq保存退出,不过因为只是写在了文件里,这些环境变量并没有被实际的构建到内核中,因此需要手动执行一下这个文件。

[root@localhost /usr/lib/jvm/jdk-13]$ source /etc/profile
[root@localhost /usr/lib/jvm/jdk-13]$ exit #退出root权限

至此,安装过程全部结束,JDK可以正常工作了,我们可以用下面这个指令检验一下:

[user@localhost /usr/lib/jvm/jdk-13]$ java -version

现在我们可以在Linux系统上使用JDK13进行开发了。

既然装好了,不妨我们试一下吧!

说得对!!我们已经摩拳擦掌了,那就编写一个Java程序测试一下吧!

随便在某个位置建个文件夹编写一个Hello World试试看吧:

[user@localhost /usr/lib/jvm/jdk-13]$ mkdir ~/jsrc
[user@localhost /usr/lib/jvm/jdk-13]$ cd ~/jsrc
[user@localhost ~/jsrc]$ vim Hello.java
/// Hello.java

public class Hello
{
public static void main(String args[])
{
System.out.println("Hello");
}
}
[user@localhost ~/jsrc]$ javac Hello.java
[user@localhost ~/jsrc]$ ls
Hello.class Hello.java
[user@localhost ~/jsrc]$ java Hello
Hello

Ah, finally ...

开心!!

当然,之后我还会同样记录Hadoop的安装过程等等更多的东西,敬请关注!!

以上。

在Linux环境下采用压缩包方式安装JDK 13的更多相关文章

  1. Linux系统下(x64)安装jdk 1.6(jdk-6u45-linux-x64.bin)

    Linux系统下(x64)安装jdk 1.6(jdk-6u45-linux-x64.bin) 一,查看是否安装jdk: # rpm -qa | grep jdk 或者 #rpm -q jdk 或者 # ...

  2. linux环境下,接着lnmp,安装redis

    linux环境下,安装redis   操作记录: 回到家目录 cd ~查看   ls进入   lump cd lnmp1.3-fullls??? sudo  ./addons.sh //---进入后选 ...

  3. Linux环境下SVN服务器端的安装与配置

    最近尝试了下在Linux(CentOS6.5)环境下安装与配置SVN服务器端,安装过程中碰到了一些问题,参看了网友们分享的一些心得,并通过自己实际的操作,最终安装与配置成功!总的来说网上的说法芸芸,大 ...

  4. 在Windows下通过压缩包方式安装MySQL

    需求:下载MySQL有两种方法,一是下载可执行文件,通过点点点的方式,比较简单没什么技术含量,但是之前通过此方法下载的MySQL与Python进行连接交互的时候总是报1045错误,一直没找到原因,尝试 ...

  5. 离线环境下使用二进制方式安装配置Kubernetes集群

    本文环境 Redhat Linux 7.3,操作系统采用的最小安装方式. Kubernetes的版本为 V1.10. Docker版本为18.03.1-ce. etcd 版本为 V3.3.8. 1. ...

  6. Linux环境下的Docker的安装和部署、学习-一

    CentOS Docker 安装Docker支持以下的CentOS版本:CentOS 7 (64-bit)CentOS 6.5 (64-bit) 或更高的版本 前提条件目前,CentOS 仅发行版本中 ...

  7. Linux环境下Node.js的安装配置

    1.   官网下载Node.js 2.   安装Node.js 根据下载内容的不同,提供三种安装方法,选择自己喜欢的方式 2.1.   绿色免安装版(Linux(.tar.gz)) 解压Node-XX ...

  8. Linux环境下Apache ActiveMQ 基本安装

    原文链接:https://www.jianshu.com/p/1c017088aa95 在linux上安装mq,并映射到外网.1.Apache ActiveMQ安装基本条件请参考链接:2.下载Apac ...

  9. 【linux环境下】RabbitMq的安装和监控插件安装

    [注意安装过程中,提示某些命令not found,直接yum isntall一下就好了] 以下是我在CentOS release 6.4下亲测成功的. RabbitMq的安装:   RabbitMQ是 ...

随机推荐

  1. CF934A A Compatible Pair

    A Compatible Pair time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  2. Windows10 系统更新之后找不到输入法

    是因为 , 系统更新之后 , 系统自带的输入法没有更新好 , 过个一两天,系统会自动修复. 简单解决办法是 , Ctrl+Alt+delete 打开任务管理器, 在进程中,按CPU大小排序,找到输入法 ...

  3. 玩转 SpringBoot 2 快速整合 | JSP 篇

    前言 JavaServer Pages(JSP)技术使Web开发人员和设计人员能够快速开发和轻松维护利用现有业务系统的信息丰富的动态Web页面. 作为Java技术系列的一部分,JSP技术可以快速开发独 ...

  4. YUM简单入门

    1.制作YUM源先关闭相关安全设置,安装vsftpd [root@rhel7 ~]# firewall-cmd --set-default-zone=trusted 设置防火墙受信 [root@rhe ...

  5. Winform中实现ZedGraph的多条Y轴(附源码下载)

    场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  6. 初学FPGA图像处理,开发板选择建议

    我用的是ZYNQ7010的开发板,纯粹是入门学习,对于初学者,使用较多的xlinx入门级的开发板一般是zynq7000系列,淘宝上买的较好的是黑金和米联科,我买的就是黑金的,个人觉得教程很少,学习资料 ...

  7. 松软科技课堂:SQL--FULLJOIN关键字

    SQL FULL JOIN 关键字(from:www.sysoft.net.cn) 只要其中某个表存在匹配,FULL JOIN 关键字就会返回行. FULL JOIN 关键字语法 SELECT col ...

  8. python语言程序设计部分习题

    第二章 python程序实例解析 程序练习题 2.1   实例1的修改,采用eval(input(<提示内容>))替换现有输入部分,并使输出的温度值为整数. vv 2.2 汇率兑换程序.按 ...

  9. TestNG(六) 忽略测试

    package com.course.testng.suite; import org.testng.annotations.Test; public class IgnoreTest { @Test ...

  10. mysql备份脚本并保留7天

    脚本需求: 每天备份mysql数据库,保留7天的脚本. 存放在/opt/dbbak目录中. 脚本名称为database_xxxx-xx-xx.sql 脚本内容: #!/bin/bash export ...