ubuntu install jdk 2 method:

本文提供两种在Ubuntu上安装JDK的方法:通过PPA源安装和下载安装包安装。详细介绍如何使用PPA安装Oracle JDK 7和8,包括同意许可协议、设置默认JDK版本及验证安装。此外还介绍了直接下载压缩包并进行手动安装的过程。

ubuntu 安装jdk 的两种方式:

1:通过ppa(源) 方式安装.

2:通过官网下载安装包安装.

这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级

使用ppa/源方式安装

1.添加ppa

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

2.安装oracle-java-installer

 jdk7

sudo apt-get install oracle-java7-installer

 jdk8

sudo apt-get install oracle-java8-installer

安装器会提示你同意 oracle 的服务条款,选择 ok

然后选择yes 即可

如果你懒,不想自己手动点击.也可以加入下面的这条命令,默认同意条款:

JDK7 默认选择条款

echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections

JDK8 默认选择条款

echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections

 接下会是等待(依个人网速定)

如果你因为防火墙或者其他原因,导致installer 下载速度很慢,可以中断操作.然后下载好相应jdk的tar.gz 包,放在:

   /var/cache/oracle-jdk7-installer             (jdk7) 

   /var/cache/oracle-jdk8-installer              (jdk8) 

下面,然后安装一次installer. installer 则会默认使用 你下载的tar.gz包

3.设置系统默认jdk

JDk7

sudo update-java-alternatives -s java-7-oracle

JDK8

sudo update-java-alternatives -s java-8-oracle

如果即安装了jdk7,又安装了jdk8,要实现两者的切换,可以:

  jdk8 切换到jdk7

sudo update-java-alternatives -s java-7-oracle

  jdk7 切换到jdk8

sudo update-java-alternatives -s java-8-oracle

4.测试jdk 是是否安装成功:

java -version

javac -version

直接下载jdk压缩包方式安装(这里只介绍jdk7的,jdk8 的原理完全一致)

 分为下面5个步骤

   1.官网下载JDK

   2.解压缩,放到指定目录

   3.配置环境变量

   4.设置系统默认JDK

 5. 测试jdk

1.官网下载JDK   

     地址: http://www.oracle.com/technetwork/articles/javase/index-jsp-138363.html

  选择相应的 .gz包下载 

2. 解压缩,放到指定目录(以jdk-7u60-linux-x64.gz为例)

  创建目录:

sudo mkdir /usr/lib/jvm

 加压缩到该目录:

 sudo tar -zxvf jdk-7u60-linux-x64.gz -C /usr/lib/jvm

3.修改环境变量:  

sudo vim ~/.bashrc

 文件的末尾追加下面内容:

#set oracle jdk environment
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_60 ## 这里要注意目录要换成自己解压的jdk 目录 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH

 使环境变量马上生效

 source ~/.bashrc

4.设置系统默认jdk 版本

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_60/bin/java 300  
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_60/bin/javac 300  
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.7.0_60/bin/jar 300   
sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/jdk1.7.0_60/bin/javah 300   
sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.7.0_60/bin/javap 300   

 然后执行:

sudo update-alternatives --config java

    若是初次安装jdk,会有下面的提示     

   There is only one alternative in link group java (providing /usr/bin/java): 
    /usr/lib/jvm/jdk1.7.0_60/bin/java

 否者,选择合适的jdk

5.测试jdk

java -version

java version "1.7.0_60"

  Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
  Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)

  jdk 安装成功


其它各种Linux系统版本安装 java :http://www.howtoing.com/search/安装java

1、安装 java jdk1.8

1. 添加软件源

sudo add-apt-repository ppa:webupd8team/java
  • 1

2. 更新软件源

sudo apt-get update
  • 1

3. 安装 jdk1.8

sudo apt-get install oracle-java8-installer
  • 1

2、查看 java 安装路径

sudo update-alternatives --config java
sudo update-alternatives --config javac
  • 1
  • 2

3、查看 java 安装后的版本

java -version
  • 1

ps:更新 jdk1.7 到 jdk1.8 直接执行安装第一步覆盖就ok.

4、增加多版本 jdk 和切换方法 (安装 jdk 6 或 7)

1、安装 jdk 6 和 jdk 7

安装 jdk 6

sudo apt-get install oracle-java6-installer
  • 1

安装 jdk 7

sudo apt-get install oracle-java7-installer 
  • 1

2、查看所有 jdk 安装版本

sudo update-java-alternatives -l
java-6-oracle 3 /usr/lib/jvm/java-6-oracle
java-7-oracle 4 /usr/lib/jvm/java-7-oracle
java-8-oracle 2 /usr/lib/jvm/java-8-oracle
  • 1
  • 2
  • 3
  • 4

3、通过-s参数可以方便的切换到其它的java版本

$ sudo update-java-alternatives -s java-6-oracle
  • 1

or

$ sudo update-java-alternatives -s java-7-oracle
  • 1

or

$ sudo update-java-alternatives -s java-8-oracle
  • 1

再次查看 java jkd 版本

$ java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

其他教程

JDK版本:jdk1.8.0_121

1.官网下载JDK文件jdk-8u121-linux-x64.tar.gz

我这里下的是最新版,其他版本也可以

2.创建一个目录作为JDK的安装目录,我的目录为 /java

sudo mkdir /java

3.移动文件到/java目录下

sudo mv jdk-8u121-linux-x64.tar.gz /java

4.解压文件

tar -zxvf jdk-8u121-linux-x64.tar.gz


5.配置环境变量

sudo gedit /etc/environment

末尾加入以下配置(JAVA_HOME 后的路径就是jdk的文件位置)

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin"
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export JAVA_HOME=/java/jdk1.8.0_121

修改完成之后保存关闭,并输入以下命令使环境变量立即生效

source /etc/environment

6.输入java -version,显示JDK版本说明恭喜你,环境变量配置正确

7.但还没结束,以前按照其他人写的文章发现每次重启后就用不了了,所以还需要配置所有用户的环境变量

sudo gedit /etc/profile

在文件的最后添加以下内容:

#set Java environment

export JAVA_HOME=/dengyang/jdk1.8.0_56
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

8.同样,需要使用命令使环境变量立即生效

source /etc/profile

9.重启电脑,能正常进入系统,且java -version命令有效


[13:39:21] 🔧 密码正确,开始部署... [13:39:21] 🔧 设置非交互模式并修复中断的 dpkg... [13:39:23] ✅ 系统已进入全自动非交互模式 [13:39:23] 🔧 检测系统兼容性... [13:39:23] 🔧 清理 APT 锁文件和占用进程... [13:39:26] ✅ APT 锁已清除且中断状态已修复 [13:39:26] 🔧 配置阿里云 APT 源... [13:39:26] ✅ 已切换至阿里云 APT 源 [13:39:26] 🔧 🚀 开始执行用户指令流 [2025-12-28 13:39:26] [PROGRESS] 开始: [1/18] ⬆️ 升级系统软件包 [2025-12-28 13:39:30] [CMD][RUN] WARNING: apt does not have a stable CLI interface. Use with caution in scripts. [2025-12-28 13:39:30] [CMD][RUN] Hit:1 http://mirrors.aliyun.com/ubuntu focal InRelease [2025-12-28 13:39:30] [CMD][RUN] Hit:2 http://mirrors.aliyun.com/ubuntu focal-updates InRelease [2025-12-28 13:39:30] [CMD][RUN] Hit:3 http://mirrors.aliyun.com/ubuntu focal-security InRelease [2025-12-28 13:39:30] [CMD][RUN] Hit:4 http://mirrors.aliyun.com/ubuntu focal-backports InRelease [2025-12-28 13:39:30] [CMD][RUN] Reading package lists... [2025-12-28 13:39:30] [CMD][RUN] Building dependency tree... [2025-12-28 13:39:30] [CMD][RUN] Reading state information... [2025-12-28 13:39:30] [CMD][RUN] 1 package can be upgraded. Run 'apt list --upgradable' to see it. [2025-12-28 13:39:30] [CMD][RUN] WARNING: apt does not have a stable CLI interface. Use with caution in scripts. [2025-12-28 13:39:30] [CMD][RUN] Reading package lists... [2025-12-28 13:39:30] [CMD][RUN] Building dependency tree... [2025-12-28 13:39:30] [CMD][RUN] Reading state information... [2025-12-28 13:39:30] [CMD][RUN] Calculating upgrade... [2025-12-28 13:39:30] [CMD][RUN] The following packages were automatically installed and are no longer required: [2025-12-28 13:39:30] [CMD][RUN] crash dblatex dblatex-doc dh-strip-nondeterminism dns-root-data [2025-12-28 13:39:30] [CMD][RUN] docbook-dsssl docbook-utils docbook-xml docbook-xsl dwz eatmydata [2025-12-28 13:39:30] [CMD][RUN] fonts-gfs-baskerville fonts-gfs-porson kdump-tools kexec-tools [2025-12-28 13:39:30] [CMD][RUN] libalgorithm-c3-perl libapache-pom-java libarchive-cpio-perl [2025-12-28 13:39:30] [CMD][RUN] libarchive-zip-perl libb-hooks-endofscope-perl libb-hooks-op-check-perl [2025-12-28 13:39:30] [CMD][RUN] libclass-c3-perl libclass-c3-xs-perl libclass-data-inheritable-perl [2025-12-28 13:39:30] [CMD][RUN] libclass-method-modifiers-perl libclass-xsaccessor-perl [2025-12-28 13:39:30] [CMD][RUN] libcommons-logging-java libcommons-parent-java libdata-optlist-perl [2025-12-28 13:39:30] [CMD][RUN] libdatrie1 libdebhelper-perl libdevel-callchecker-perl libdevel-caller-perl [2025-12-28 13:39:30] [CMD][RUN] libdevel-globaldestruction-perl libdevel-lexalias-perl [2025-12-28 13:39:30] [CMD][RUN] libdevel-stacktrace-perl libdist-checkconflicts-perl [2025-12-28 13:39:30] [CMD][RUN] libdynaloader-functions-perl libeatmydata1 libemail-date-format-perl [2025-12-28 13:39:30] [CMD][RUN] libeval-closure-perl libexception-class-perl libfile-homedir-perl [2025-12-28 13:39:30] [CMD][RUN] libfile-stripnondeterminism-perl libfile-which-perl libfontbox-java [2025-12-28 13:39:30] [CMD][RUN] libfwupdplugin1 libipc-shareable-perl libllvm10 liblog-dispatch-perl [2025-12-28 13:39:30] [CMD][RUN] liblog-log4perl-perl libmime-charset-perl libmime-lite-perl [2025-12-28 13:39:30] [CMD][RUN] libmime-types-perl libmodule-implementation-perl libmodule-runtime-perl [2025-12-28 13:39:30] [CMD][RUN] libmro-compat-perl libnamespace-autoclean-perl libnamespace-clean-perl [2025-12-28 13:39:30] [CMD][RUN] libosp5 libostyle1c2 libpackage-stash-perl libpackage-stash-xs-perl [2025-12-28 13:39:30] [CMD][RUN] libpadwalker-perl libparams-classify-perl libparams-util-perl [2025-12-28 13:39:30] [CMD][RUN] libparams-validationcompiler-perl libpdfbox-java libreadonly-perl [2025-12-28 13:39:30] [CMD][RUN] libref-util-perl libref-util-xs-perl librole-tiny-perl libsgmls-perl [2025-12-28 13:39:30] [CMD][RUN] libsombok3 libspecio-perl libsub-exporter-perl [2025-12-28 13:39:30] [CMD][RUN] libsub-exporter-progressive-perl libsub-identify-perl libsub-install-perl [2025-12-28 13:39:30] [CMD][RUN] libsub-override-perl libsub-quote-perl libthai-data libthai0 [2025-12-28 13:39:30] [CMD][RUN] libunicode-linebreak-perl libvariable-magic-perl libxdamage1 libxmlb1 [2025-12-28 13:39:30] [CMD][RUN] libxstring-perl libyaml-tiny-perl makedumpfile openjade opensp [2025-12-28 13:39:30] [CMD][RUN] preview-latex-style python3-importlib-metadata python3-json-pointer [2025-12-28 13:39:30] [CMD][RUN] python3-jsonpatch python3-jsonschema python3-ply python3-pyrsistent [2025-12-28 13:39:30] [CMD][RUN] sgml-base sgml-data sgmlspl squashfs-tools teckit tex-gyre texlive [2025-12-28 13:39:30] [CMD][RUN] texlive-bibtex-extra texlive-extra-utils texlive-fonts-recommended [2025-12-28 13:39:30] [CMD][RUN] texlive-formats-extra texlive-lang-greek texlive-latex-base [2025-12-28 13:39:30] [CMD][RUN] texlive-latex-extra texlive-latex-recommended texlive-pictures [2025-12-28 13:39:30] [CMD][RUN] texlive-plain-generic texlive-science texlive-xetex tipa xml-core xmlto [2025-12-28 13:39:30] [CMD][RUN] Use 'sudo apt autoremove' to remove them. [2025-12-28 13:39:30] [CMD][RUN] The following packages have been kept back: [2025-12-28 13:39:30] [CMD][RUN] cloud-init [2025-12-28 13:39:30] [CMD][RUN] 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. [13:39:30] ✅ [1/18] ⬆️ 升级系统软件包 [13:39:30] ✅ [2/18] ✅ 已跳过: 📦 安装 zstd(已安装) [2025-12-28 13:39:30] [PROGRESS] 开始: 📦 安装 Python2JDK [13:46:30] ❌ ❌ 失败: [3/18] 📦 安装 Python2JDK [2025-12-28 13:46:30] [APT][INSTALL] Setting up libgtk2.0-0:amd64 (2.24.32-4ubuntu4.1) ... [2025-12-28 13:46:30] [APT][INSTALL] Setting up humanity-icon-theme (0.6.15) ... [2025-12-28 13:46:30] [APT][INSTALL] Setting up libgail18:amd64 (2.24.32-4ubuntu4.1) ... [2025-12-28 13:46:30] [APT][INSTALL] Setting up libgtk2.0-bin (2.24.32-4ubuntu4.1) ... [2025-12-28 13:46:30] [APT][INSTALL] Setting up libgail-common:amd64 (2.24.32-4ubuntu4.1) ... [2025-12-28 13:46:30] [APT][INSTALL] Setting up openjdk-17-jre:amd64 (17.0.15+6~us1-0ubuntu1~20.04) ... [2025-12-28 13:46:30] [APT][INSTALL] Setting up ubuntu-mono (19.04-0ubuntu3) ... [2025-12-28 13:46:30] [APT][INSTALL] Setting up openjdk-17-jdk:amd64 (17.0.15+6~us1-0ubuntu1~20.04) ... [2025-12-28 13:46:30] [APT][INSTALL] update-alternatives: using /usr/lib/jvm/java-17-openjdk-amd64/bin/jconsole to provide /usr/bin/jconsole (jconsole) in auto mode [2025-12-28 13:46:30] [APT][INSTALL] Processing triggers for ca-certificates (20240203~20.04.1) ... [2025-12-28 13:46:30] [APT][INSTALL] Updating certificates in /etc/ssl/certs... [2025-12-28 13:46:30] [APT][INSTALL] 0 added, 0 removed; done. [2025-12-28 13:46:30] [APT][INSTALL] Running hooks in /etc/ca-certificates/update.d... [2025-12-28 13:46:30] [APT][INSTALL] [2025-12-28 13:46:30] [APT][INSTALL] done. [2025-12-28 13:46:30] [APT][INSTALL] done. [2025-12-28 13:46:30] [APT][INSTALL] Processing triggers for mime-support (3.64ubuntu1) ... [2025-12-28 13:46:30] [APT][INSTALL] Processing triggers for libc-bin (2.31-0ubuntu9.18) ... [2025-12-28 13:46:30] [APT][INSTALL] Processing triggers for man-db (2.9.1-1) ... [2025-12-28 13:46:30] [APT][INSTALL] Processing triggers for libgdk-pixbuf2.0-0:amd64 (2.40.0+dfsg-3ubuntu0.5) ... [13:46:30] 🔧 🔍 尝试获取解决方案...
12-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值