AnolisOS 8 安装jdk1.8

dnf 安装openjdk1.8

AnolisOS 可以使用 dnf 或者 yum 进行软件安装,两者指令结构基本相同,推荐使用dnf。

dnf --version     #查看 dnf版本
4.7.0
  Installed: dnf-0:4.7.0-8.0.1.an8.noarch at Mon 04 Jul 2022 05:16:37 AM GMT
  Built    : OpenAnolis Community at Wed 18 May 2022 08:05:12 AM GMT

  Installed: rpm-0:4.14.3-23.0.1.an8.x86_64 at Mon 04 Jul 2022 05:16:24 AM GMT
  Built    : OpenAnolis Community at Wed 18 May 2022 11:24:53 AM GMT

使用dnf查找jdk

dnf  search java|grep jdk

检查是否已经安装了openjdk,查看具体版本

# java -version
openjdk version "1.8.0_342"
OpenJDK Runtime Environment (build 1.8.0_342-b07)
OpenJDK 64-Bit Server VM (build 25.342-b07, mixed mode)

使用dnf安装openjdk1.8

dnf install java-1.8.0-openjdk
Repository epel is listed more than once in the configuration
上次元数据过期检查:2:08:27 前,执行于 2022年09月22日 星期四 13时52分44秒。
软件包 java-1.8.0-openjdk-1:1.8.0.342.b07-2.an8_6.x86_64 已安装。
依赖关系解决。
============================================================================================================================================================================
 软件包                                              架构                           版本                                            仓库                               大小
============================================================================================================================================================================
升级:
 java-1.8.0-openjdk                                  x86_64                         1:1.8.0.345.b01-1.an8_6                         AppStream                         347 k
 java-1.8.0-openjdk-devel                            x86_64                         1:1.8.0.345.b01-1.an8_6                         AppStream                         9.8 M
 java-1.8.0-openjdk-headless                         x86_64                         1:1.8.0.345.b01-1.an8_6                         AppStream                          34 M

事务概要
============================================================================================================================================================================
升级  3 软件包

总下载:44 M
确定吗?[y/N]:

已升级:
  java-1.8.0-openjdk-1:1.8.0.345.b01-1.an8_6.x86_64   java-1.8.0-openjdk-devel-1:1.8.0.345.b01-1.an8_6.x86_64   java-1.8.0-openjdk-headless-1:1.8.0.345.b01-1.an8_6.x86_64  

完毕!
[root@anolis ~]# java -version
openjdk version "1.8.0_345"
OpenJDK Runtime Environment (build 1.8.0_345-b01)
OpenJDK 64-Bit Server VM (build 25.345-b01, mixed mode)

可见新版本的 openjdk1.8已经安装成功。
查看安装路径,默认安装路径在/usr/lib/jvm/下边,
如/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-2.an8_6.x86_64

[root@anolis ~]# which java
/usr/bin/java
[root@anolis ~]# echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-2.an8_6.x86_64
[root@anolis ~]# ll /usr/bin/java
lrwxrwxrwx 1 root root 22 9月  22 16:04 /usr/bin/java -> /etc/alternatives/java
[root@anolis ~]# ll /etc/alternatives/java
lrwxrwxrwx 1 root root 73 9月  22 16:04 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.an8_6.x86_64/jre/bin/java
[root@anolis ~]# ll /usr/lib/jvm/
总用量 0
lrwxrwxrwx 1 root root  26 9月  22 16:04 java -> /etc/alternatives/java_sdk
lrwxrwxrwx 1 root root  32 9月  22 16:04 java-1.8.0 -> /etc/alternatives/java_sdk_1.8.0
lrwxrwxrwx 1 root root  40 9月  22 16:04 java-1.8.0-openjdk -> /etc/alternatives/java_sdk_1.8.0_openjdk
drwxr-xr-x 7 root root 135 9月  22 16:04 java-1.8.0-openjdk-1.8.0.345.b01-1.an8_6.x86_64
lrwxrwxrwx 1 root root  34 9月  22 16:04 java-openjdk -> /etc/alternatives/java_sdk_openjdk
lrwxrwxrwx 1 root root  21 9月  22 16:04 jre -> /etc/alternatives/jre
lrwxrwxrwx 1 root root  27 9月  22 16:04 jre-1.8.0 -> /etc/alternatives/jre_1.8.0
lrwxrwxrwx 1 root root  35 9月  22 16:04 jre-1.8.0-openjdk -> /etc/alternatives/jre_1.8.0_openjdk
lrwxrwxrwx 1 root root  51 9月  14 11:30 jre-1.8.0-openjdk-1.8.0.345.b01-1.an8_6.x86_64 -> java-1.8.0-openjdk-1.8.0.345.b01-1.an8_6.x86_64/jre
lrwxrwxrwx 1 root root  29 9月  22 16:04 jre-openjdk -> /etc/alternatives/jre_openjdk

查看java是否可用:javac

# javac
-bash: javac: command not found

错误原因:默认安装完只有运行环境,java安装目录下只有jre文件夹
安装开发环境dnf install java-1.8.0-openjdk-devel.x86_64
安装完可看到java安装目录下出现bin、lib等文件夹:

[root@anolis ~]# cd  /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.345.b01-1.an8_6.x86_64/
[root@anolis java-1.8.0-openjdk-1.8.0.345.b01-1.an8_6.x86_64]# ll
总用量 184
-rw-r--r-- 1 root root   1522 9月  14 11:29 ASSEMBLY_EXCEPTION
drwxr-xr-x 2 root root   4096 9月  22 16:04 bin
drwxr-xr-x 3 root root    132 9月  22 16:04 include
drwxr-xr-x 4 root root     95 9月  22 16:04 jre
drwxr-xr-x 3 root root    144 9月  22 16:04 lib
-rw-r--r-- 1 root root  19274 9月  14 11:29 LICENSE
drwxr-xr-x 2 root root    204 9月  22 16:04 tapset
-rw-r--r-- 1 root root 157063 9月  14 11:29 THIRD_PARTY_README

再次输入javac说明安装成功

[root@anolis ~]# javac
用法: javac  
其中, 可能的选项包括:
  -g                         生成所有调试信息
  -g:none                    不生成任何调试信息
  -g:{lines,vars,source}     只生成某些调试信息
  -nowarn                    不生成任何警告
  -verbose                   输出有关编译器正在执行的操作的消息
  -deprecation               输出使用已过时的 API 的源位置
  -classpath <路径>            指定查找用户类文件和注释处理程序的位置
  -cp <路径>                   指定查找用户类文件和注释处理程序的位置
  -sourcepath <路径>           指定查找输入源文件的位置
  -bootclasspath <路径>        覆盖引导类文件的位置
  -extdirs <目录>              覆盖所安装扩展的位置
  -endorseddirs <目录>         覆盖签名的标准路径的位置
  -proc:{none,only}          控制是否执行注释处理和/或编译。
  -processor [,,...] 要运行的注释处理程序的名称; 绕过默认的搜索进程
  -processorpath <路径>        指定查找注释处理程序的位置
  -parameters                生成元数据以用于方法参数的反射
  -d <目录>                    指定放置生成的类文件的位置
  -s <目录>                    指定放置生成的源文件的位置
  -h <目录>                    指定放置生成的本机标头文件的位置
  -implicit:{none,class}     指定是否为隐式引用文件生成类文件
  -encoding <编码>             指定源文件使用的字符编码
  -source <发行版>              提供与指定发行版的源兼容性
  -target <发行版>              生成特定 VM 版本的类文件
  -profile <配置文件>            请确保使用的 API 在指定的配置文件中可用
  -version                   版本信息
  -help                      输出标准选项的提要
  -A关键字[=值]                  传递给注释处理程序的选项
  -X                         输出非标准选项的提要
  -J<标记>                     直接将 <标记> 传递给运行时系统
  -Werror                    出现警告时终止编译
  @<文件名>                     从文件读取选项和文件名

查看环境变量

vi /etc/profile
在profile文件末尾查看如下内容:
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-2.an8_6.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

使环境变量生效:source /etc/profile

[root@anolis ~]# source /etc/profile
[root@anolis ~]# echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-2.an8_6.x86_64

二进制安装jdk1.8

上传jdk-8u11-linux-x64.tar.gz 安装包
解压jdk文件

tar -xzvf jdk-8u11-linux-x64.tar.gz -C /usr/local/

添加环境变量

echo 'export JAVA_HOME=/usr/local/jdk1.8.0_11' | sudo tee -a /etc/profile    
echo 'export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' | sudo tee -a /etc/profile 
echo 'export PATH=$PATH:$JAVA_HOME/bin' | sudo tee -a /etc/profile   

使变量立即生效

source /etc/profile  
# java -version
java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)
[root@anolis ~]# javac
Usage: javac  
where possible options include:
  -g                         Generate all debugging info
  -g:none                    Generate no debugging info
  -g:{lines,vars,source}     Generate only some debugging info
  -nowarn                    Generate no warnings
  -verbose                   Output messages about what the compiler is doing
  -deprecation               Output source locations where deprecated APIs are used
  -classpath           Specify where to find user class files and annotation processors
  -cp                  Specify where to find user class files and annotation processors
  -sourcepath          Specify where to find input source files
  -bootclasspath       Override location of bootstrap class files
  -extdirs             Override location of installed extensions
  -endorseddirs        Override location of endorsed standards path
  -proc:{none,only}          Control whether annotation processing and/or compilation is done.
  -processor [,,...] Names of the annotation processors to run; bypasses default discovery process
  -processorpath       Specify where to find annotation processors
  -parameters                Generate metadata for reflection on method parameters
  -d              Specify where to place generated class files
  -s              Specify where to place generated source files
  -h              Specify where to place generated native header files
  -implicit:{none,class}     Specify whether or not to generate class files for implicitly referenced files
  -encoding        Specify character encoding used by source files
  -source           Provide source compatibility with specified release
  -target           Generate class files for specific VM version
  -profile          Check that API used is available in the specified profile
  -version                   Version information
  -help                      Print a synopsis of standard options
  -Akey[=value]              Options to pass to annotation processors
  -X                         Print a synopsis of nonstandard options
  -J                   Pass  directly to the runtime system
  -Werror                    Terminate compilation if warnings occur
  @                Read options and filenames from file

你可能感兴趣的:(AnolisOS 8 安装jdk1.8)