首页 > 系统相关 >Ubuntu apt安装Java

Ubuntu apt安装Java

时间:2024-04-30 14:57:42浏览次数:19  
标签:bin java lib openjdk apt usr Ubuntu Java

ref:

https://www.jianshu.com/p/ddf1195e6d9f

安装jdk17

要安装此版本,请先更新软件包索引:

$ sudo apt update

接下来,检查Java是否安装:

$ java -version

如果Java当前未安装,您将看到以下输出:

找不到命令 “java”,但可以通过以下软件包安装它:
apt install openjdk-11-jre-headless  # version 11.0.20.1+1-0ubuntu1~22.04, or
apt install default-jre              # version 2:1.11-72build2
apt install openjdk-17-jre-headless  # version 17.0.8.1+1~us1-0ubuntu1~22.04
apt install openjdk-18-jre-headless  # version 18.0.2+9-2~22.04
apt install openjdk-19-jre-headless  # version 19.0.2+7-0ubuntu3~22.04
apt install openjdk-8-jre-headless   # version 8u382-ga-1~22.04.1

执行以下命令来安装OpenJDK:

$ sudo apt install openjdk-17-jre-headless

该命令将安装Java运行时环境(JRE)。这将允许你运行几乎所有的Java软件。

验证安装:

$ java -version

你将看到以下输出:

openjdk version "17.0.10" 2024-01-16
OpenJDK Runtime Environment (build 17.0.10+7-Ubuntu-122.04.1)
OpenJDK 64-Bit Server VM (build 17.0.10+7-Ubuntu-122.04.1, mixed mode, sharing)

除了JRE之外,您可能还需要Java开发工具包(JDK)才能编译和运行一些特定的基于Java的软件。 要安装JDK,请执行以下命令,该命令也将安装JRE:

$ sudo apt install default-jdk

通过检查Java编译器javac的版本来验证是否安装了JDK:

$ javac -version

您将看到以下输出:

$ javac 11.0.22

管理Java

您可以在一台服务器上安装多个Java。您可以使用update-alternatives命令配置哪个版本是命令行上使用的默认版本。

$ sudo update-alternatives --config java

如果您已经在本教程中安装了所有版本的Java,则输出结果如下所示:

  选择       路径                                       优先级  状态
------------------------------------------------------------
* 0            /usr/lib/jvm/java-17-openjdk-amd64/bin/java   1711      自动模式
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      手动模式
  2            /usr/lib/jvm/java-17-openjdk-amd64/bin/java   1711      手动模式
Press <enter> to keep the current choice[*], or type selection number: 

选择与Java版本关联的数字以将其用作默认值,或者按下ENTER以保留当前设置。

您可以为其他Java命令执行此操作,例如编译器(javac ):

$ sudo update-alternatives --config javac

其他可以运行该命令的命令包括但不限于: keytooljavadocjarsigner

设置 JAVA_HOME 环境变量

许多使用Java编写的程序使用JAVA_HOME环境变量来确定Java安装位置。

要设置此环境变量,请先确定Java的安装位置。 使用update-alternatives命令:

$ sudo update-alternatives --config java

该命令显示Java的每个安装及其安装路径:

There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-17-openjdk-amd64/bin/java   1711      自动模式
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      手动模式
  2            /usr/lib/jvm/java-17-openjdk-amd64/bin/java   1711      手动模式

Press <enter> to keep the current choice[*], or type selection number: 

在这种情况下,安装路径如下所示:

  • OpenJDK 17位于/usr/lib/jvm/java-17-openjdk-amd64/bin/java

复制首选安装的路径。 然后用vivim文本编辑器打开/etc/profile

在profile文件末尾加入:

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/bin/java
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

保存之后使用命令来使其生效:

$ source /etc/profile

验证是否设置了环境变量:

$ echo $PATH

你会看到你刚刚设置的路径:

/usr/lib/jvm/java-17-openjdk-amd64/bin/java/bin:/usr/lib/jvm/java-17-openjdk-amd64/bin/java/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

现在就可以安装运行在Java上的软件了,例如Tomcat,Jetty,Glassfish,Cassandra或Jenkins。

标签:bin,java,lib,openjdk,apt,usr,Ubuntu,Java
From: https://www.cnblogs.com/piggyyy/p/18168004

相关文章

  • java基础面试
    ThreadLocal:ThreadLocal并不解决线程间共享数据的问题ThreadLocal通过隐式的在不同线程内创建独立实例副本避免了实例线程安全的问题每个线程持有一个Map(ThreadLocalMap)并维护了ThreadLocal对象与具体实例的映射,该Map由于只被持有它的线程访问,故不存在线程安全以及锁的......
  • 记录springboot项目多module(java/scala)打包代码
    java项目不太熟,之前一直使用的idea中的打包方式:BuildArtifacts...,现在使用maven打包,一直报下面的common等依赖包找不到,花了很多时间,在此记录下解决过程。解决办法是先将依赖包deploy到远程仓库,然后在打包的时候先install,再package,就可以打包成功。但还有一个问题没解决:由于我的......
  • 引爆你的网页乐趣!前端十个令人捧腹的JavaScript整蛊代码。
    愚人节整蛊代码。想要在网页上增添一抹幽默与惊喜吗?或是想给你的朋友一个意想不到的“小惊喜”?那么,这十款简单而有趣的JavaScript前端整蛊代码绝对能满足你的需求!每一个代码都能让你的网页瞬间变得生动有趣。1,抖动页面在线效果演示:张苹果博客模拟页面抖动的动画效果。3秒后......
  • spring-web-mvc项目运行报错:java.lang.NoClassDefFoundError: org/apache/catalina/We
    使用idea运行spring-web-mvc项目时,报错如下:错误:无法初始化主类com.itranswarp.learnjava1.AppConfig原因:java.lang.NoClassDefFoundError:org/apache/catalina/WebResourceRoot 首先,保证当前项目在独立的项目中打开,不要在多个项目中运行。导入Maven工程要选择:File......
  • JavaScript运算符及优先级全攻略,点击立刻升级你的编程水平!
    在编程的世界里,运算符是构建逻辑、实现功能的重要工具。它能帮助我们完成各种复杂的计算和操作。今天,我们就来深入探索JavaScript中运算符的奥秘,掌握它们的种类和优先级,让你的代码更加高效、简洁!一、什么是运算符运算符,顾名思义,就是用于执行特定操作的符号。在JavaScript中,运......
  • java项目日志配置文件
    logback<!--name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。--><propertyname="log.path"value="logs"/><!--2.输出到文档--><!--2.1level为DEBUG日志,时间滚动输出--><appendername="DE......
  • Java异常机制
    异常的根接口是Throwable,其下分为两大类:Error和ExceptionError通常是致命的错误,是程序无法控制和处理的,当出现这些异常时,JVM一般会选择终止线程;Exception通常情况下是可以被程序处理的,并且在程序中应该尽可能的去处理这些异常异常处理机制:让程序在异常发生时,按照代码的预先设定......
  • 编写简单的Java代码:HelloWorid
    HelloWorld随便新建一个文件夹,存放代码新建一个Java文件文件后缀名为.javaHello.java【注意点】系统可能没有显示文件后缀名,我们需要手动打开编写代码publicclassHello{publicstaticvoidmain(String[]args){System.out.print("Hello,World!");......
  • Java面向对象编程
    什么是面向对象:以类的方式组织代码,以对象的来组织(封装)数据三大特性:封装,继承,多态构造器:和类名相同,没有返回值;作用:new本质就是在调用构造方法,默认使用无参构造;还可以初始化对象的值;注意:定以有参构造之后,若还想使用无参构造的话必须要显示的定义;封装:数据的隐藏;通常应禁止......
  • Day1-Java介绍及JDK的安装配置
    Day1-JavaSE基本Dose命令切换盘符:E:=cd/dE:(跨盘切换要+/d)查看目录下所有文件:dir切换目录:cd+路径返回上一级:cd..清屏:cls退出终端:exit查看电脑IP:ipconfig打开计算器:calc打开画图:mspaint打开记事本:notepad测试网络:ping+url创建文件夹:md+文件夹名创建文件:cd......