【Java11下载、安装、部署指南】

news2024/11/15 10:59:26

oracle jdk11下载

oracle jdk所有版本归档【archive】下载地址:
https://www.oracle.com/java/technologies/downloads/archive/

oracle jdk11下载地址:
https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html

配置或修改window JAVA_HOME

idea 修改

在这里插入图片描述
在这里插入图片描述
Modules 也要对应修改,如果有的话
在这里插入图片描述

全局搜索<maven.compiler.source>

全局搜索<java.version>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>

在有vm参数的地方加入这个

-XX:+IgnoreUnrecognizedVMOptions 

查看linux发行版本信息:

# 下面三个命令都行【推荐第一个】
cat /etc/os-release
lsb release -a
cat /etc/issue
#选择适合你的cpu架构,在Linux终端上使用命令 arch 查看Linux的cpu架构,
#区分cpu架构是x86_64(x64)还是arm (aarch64) 后面选择Linux jdk版本要用到
arch

输出结果:
NAME=“Ubuntu”
VERSION=“20.04.6 LTS (Focal Fossa)”
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME=“Ubuntu 20.04.6 LTS”
VERSION_ID=“20.04”
HOME_URL=“https://www.ubuntu.com/”
SUPPORT_URL=“https://help.ubuntu.com/”
BUG_REPORT_URL=“https://bugs.launchpad.net/ubuntu/”
PRIVACY_POLICY_URL=“https://www.ubuntu.com/legal/terms-and-policies/privacy-policy”
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

查找实际使用的 java 命令路径:

# Linux查找java在path中指定的目录
which java
# -l 会显示软链接,链接到/etc/alternatives/java
ls -lrt /usr/bin/java 
#找到java安装目录【原java8 安装目录/usr/lib/jvm/java-8-openjdk-amd64/jre】
ls -lrt /etc/alternatives/java
#新建或覆盖【删除后新建】原有软链接目录指向【如果不希望覆盖,去掉s】
sudo ln -sf /usr/local/jdk-11.0.2/bin/java /etc/alternatives/java

服务器docker搜索镜像【可跳过】

sudo docker search openjdk:11

要使用 docker search 命令搜索Docker Hub上的OpenJDK 11镜像,你可以运行以下命令:docker search openjdk:11
这条命令会搜索Docker Hub上带有关键词openjdk:11的所有镜像,并显示它们的星级、描述和是否官方等内容。由于Docker Hub的搜索结果可能随时间和开发者贡献而变化,你可能还会看到诸如adoptopenjdk, oraclelinux, azul/zulu-openjdk等不同厂商或社区维护的OpenJDK 11镜像。你可以根据自己的需求选择合适的镜像进行下载使用。例如:

docker pull openjdk:11 # 获取官方提供的OpenJDK 11镜像(如果有的话)
docker pull adoptopenjdk/openjdk11 # 获取AdoptOpenJDK社区的OpenJDK 11镜像
docker pull azul/zulu-openjdk:11 # 获取Azul Systems提供的Zulu OpenJDK 11镜像

服务器docker 安装java11

#【这个网页现在需要翻墙】 https://hub.docker.com/_/openjdk/tags?page=1&name=11-jre
# docker安装openjdk11
docker pull openjdk:11-jre
# 查看docker安装过的包
sudo docker image ls 

服务器下载openjdk11

下载地址1【华为云镜像】:https://mirrors.huaweicloud.com/openjdk/
下载地址2【openjdk官网】:https://jdk.java.net/archive/

使用wget在线下载

# 这里为openjdk-11.0.2
# 下载到指定目录【/usr/local】下:
wget -P /usr/local https://mirrors.huaweicloud.com/openjdk/11.0.2/openjdk-11.0.2_linux-x64_bin.tar.gz

解压openjdk-11.0.2_linux-x64_bin.tar.gz

# 解压openjdk-11.0.2_linux-x64_bin.tar.gz,并将解压得到的内容放置在/usr/local/目录下
tar -zxvf openjdk-11.0.2_linux-x64_bin.tar.gz -C /usr/local/

修改Linux系统环境变量并将JDK11加入PATH

步骤一:编辑 /etc/profile

打开 /etc/profile 文件以进行编辑:

# vi /etc/profile
# 在文件末尾添加两行:
export JAVA_HOME=/usr/local/jdk-11.0.2
export PATH=$JAVA_HOME/bin:$PATH
#esc #:wq 保存并退出

步骤三:重新加载环境变量配置

source /etc/profile

步骤四:验证 Java 版本运行 java --version

检查 Java 版本是否已更新为 openjdk11:

java --version

输出输出以下结果表示成功:
openjdk 11.0.2 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)

可能出现的潜在问题【没有则跳过】

问题描述:尽管按照上述步骤操作,Java 版本仍显示为 Java 8,未成功切换至 Java 11。

可能的原因:PATH的路径是按顺序加载的,找到第一个就不再找了

  1. 确认 /usr/local/jdk-11.0.12 是否为正确的 JDK 11 安装路径,且该路径下存在 bin 目录及 java 可执行文件。

  2. 确保在新的 shell 会话中应用环境变量更改,可通过注销并重新登录,或打开新的终端窗口检查。

  3. 检查其他环境变量设置,如 .bashrc 或 .bash_profile 等个人配置文件中是否也有影响 JAVA_HOME 或 PATH 的设置。

  4. 检查 PATH 变量中 JAVA_HOME/bin 是否处于正确的位置,即在其它Java 8路径之前。

  5. 如果有必要,清理可能存在的命令缓存,并确保新版本的JDK确实已成功安装。在排查问题时,可以执行以下命令以辅助判断:

  6. 显示已设置的 JAVA_HOME 和 PATH 变量值:

    echo $JAVA_HOME
    echo $PATH
    

打包部署-查看docker容器启动日志

查看docker容器启动日志 -f 后面是容器名或容器Id

# 该命令将展示my-container的最后50行日志,并实时跟踪更新。
sudo docker logs -f --tail 1000 my-container

apt 是一个ubuntu命令行软件包管理器

apt 2.0.9 (amd64)

dpkg:Debian基础包管理工具,用于安装、卸载和管理.deb格式的软件包,
apt:高级包装工具 (Advanced Package TooI),基于dpkg之上,提供了更强大的软件包管理功能,如自动解决依赖关系、下载和安装软件包。

apt [options] 命令

apt 是一个命令行软件包管理器,提供搜索、管理和查询软件包信息的命令。
搜索、管理和查询软件包信息的命令。
它还提供了 apt-get、和 apt-cache 交互式使用的选项。

最常用的命令
list - 根据软件包名称列出软件包
search - 在软件包描述中搜索
show - 显示软件包详细信息
install - 安装软件包
reinstall - 重新安装软件包
remove - 删除软件包
autoremove - 自动删除所有未使用的软件包
update - 更新可用软件包列表
upgrade - 通过安装/升级软件包来升级系统
full-upgrade - 通过删除/安装/升级软件包来升级系统
edit-sources - 编辑源信息文件
satisfy - 满足依赖关系字符串

有关可用命令的更多信息,请参见 apt(8)。
配置选项和语法详见 apt.conf(5)。
有关如何配置源的信息,请参见 sources.list(5)。
软件包和版本选择可通过 apt_preferences(5) 表达。
安全详细信息请参见 apt-secure(8)。本 APT 拥有超级牛的力量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1534489.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python + Django】启动简单的文本页面

前言&#xff1a; 为了应付&#xff08;bushi&#xff09;毕业论文&#xff0c;总要自己亲手搞一个像模像样的项目出来吧 ~ ~ 希望自己能在新的连载中学到项目搭建的知识&#xff0c;这也算是为自己的测试经历增添光彩吧&#xff01;&#xff01;&#xff01; 希望、希望大家…

MySQL 字段定义时的属性设置

开发的时候第一步就是建表&#xff0c;在创建表的时候&#xff0c;我们需要定义表的字段&#xff0c;每个字段都有一些属性&#xff0c;比如说是否为空&#xff0c;是否允许有默认值&#xff0c;是不是逐渐等。 这些约束字段的属性&#xff0c;可以让字段的值更符合我们的预期&…

③【Docker】Docker部署Nginx

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ ③【Docker】Docker部署Nginx docker拉取nginx…

【计算机网络篇】物理层(3)编码与调制

文章目录 &#x1f354;编码与调试⭐基本概念 &#x1f354;基本的带通调制方法和混合调制方法⭐基本的带通调制方法⭐混合调制方法 &#x1f354;编码与调试 物理层是OSI模型中的第一层&#xff0c;它负责在物理媒体上传输原始比特流。在物理层的编码和调试中&#xff0c;我们…

基于springboot的学生心理健康评估系统

技术&#xff1a;springbootvuemysql 一、系统背景 这次开发的学生心理咨询评估系统有管理员和用户。管理员可以管理个人中心&#xff0c;用户管理&#xff0c;试题管理&#xff0c;试卷管理&#xff0c;考试管理等。用户参加考试。经过前面自己查阅的网络知识&#xff0c;加上…

数据挖掘之关联规则

“啤酒和尿布的荣誉” 概念 项 item&#xff1a;单个的事物个体 &#xff0c;I{i1,i2…im}是所有项的集合&#xff0c;|I|m是项的总数项集&#xff08;item set)/模式&#xff08;pattern)&#xff1a;项的集合&#xff0c;包含k个项的项集称为k-项集数据集(data set)/数据库…

2024年最新分享提升Macbook运行速度的十大小技巧

经常听到小伙伴在抱怨PC电脑很慢&#xff0c;但是其实Mac电脑随着用的时间增长&#xff0c;运行速度也会越来越慢&#xff0c;那么造成Mac运行慢的原因有很多&#xff0c;可能是操作系统过时未更新&#xff0c;也可能是内存&#xff08;RAM&#xff09;不足&#xff0c;以下小编…

计算机二级C语言的注意事项及相应真题-6-程序设计

目录 51.将a所指数组主对角线上的元素分别乘以2;次对角线上的元素分别乘以3&#xff0c;依次放入指针p所指的数组中。计算过程中不得修改a所指数组中的数据52.将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的十位和千位…

【OJ比赛日历】快周末了,不来一场比赛吗? #03.23-03.29 #16场

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…&#xff09;比赛。本账号会推送最新的比赛消息&#xff0c;欢迎关注&#xff01; 以下信息仅供参考&#xff0c;以比赛官网为准 目录 2024-03-23&#xff08;周六&#xff09; #7场比赛2024-03-24…

SCI一区 | Matlab实现SSA-TCN-BiGRU-Attention麻雀算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测

SCI一区 | Matlab实现SSA-TCN-BiGRU-Attention麻雀算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测 目录 SCI一区 | Matlab实现SSA-TCN-BiGRU-Attention麻雀算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测预测效果基本介绍模型描述程序…

算法详解——Dijkstra算法

Dijkstra算法的目的是寻找单起点最短路径&#xff0c;其策略是贪心加非负加权队列 一、单起点最短路径问题 单起点最短路径问题&#xff1a;给定一个加权连通图中的特定起点&#xff0c;目标是找出从该起点到图中所有其他顶点的最短路径集合。需要明确的是&#xff0c;这里关心…

Python和Java哪一个更适合初学者?

Python和Java哪一个更适合初学者&#xff1f; 对于初学者来说&#xff0c;Python通常是更友好的入门选择。它的语法简洁明了&#xff0c;接近自然语言&#xff0c;易于理解&#xff0c;使得初学者能够更快地掌握编程基础和逻辑思维。Python拥有丰富的库支持&#xff0c;特别是在…

【Arxml专题】-29-使用Cantools将CAN Matrix Arxml自动生成C语言代码

目录 1 安装Python和Cantools 1.1 查看Python已安装的Package包 1.2 在Python中安装Cantools插件包 1.3 获取更多Cantools工具的更新动态 2 CAN Matrix Arxml自动生成C语言代码 2.1 批处理文件CAN_Matrix_Arxml_To_C.bat内容说明 2.2 CAN Matrix Arxml文件要求 2.3 如何…

关于Ansible的模块 ①

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 什么是Ansible模块 在Linux中&#xff0c;bash无论是在命令行上执行&#xff0c;还是在bash脚本中&#xff0c;都需要调用cd、l…

Zookeeper的ZAB协议原理详解

Zookeeper的ZAB协议原理详解 如何保证数据一致性。 Paxos&#xff0c; 吸收了主从。 zk 数据模型Watch机制 zab zookeeper原子广播协议。 ZAB概念 ZooKeeper是通过Zab协议来保证分布式事务的最终一致性。 Zab(ZooKeeper Atomic Broadcast,.ZooKeeper原子广播协议)支持…

C语言例:设 int a,b; 则表达式(a=2,b=5,a++,b++,a+b) 的值

代码如下&#xff1a; #include<stdio.h> int main(void) {int a,b,m; m(a2,b5,a,b,ab);printf("(a2,b5,a,b,ab) %d\n",m);//a2,b5,a3,b6,ab9return 0; } 结果如下&#xff1a;

第十二届蓝桥杯省赛CC++ 研究生组-路径

记录到每个结点的最短距离&#xff0c;以此为基础计算后续结点最优值 #include<iostream> #include<algorithm> using namespace std; typedef long long ll;ll gcd(int a, int b){if(!b) return a;return gcd(b, a % b); }int main(){ll dp[2022] {0};//dp[i]记…

【一起学Rust | 基础篇】rust线程与并发

文章目录 前言一、创建线程二、mpsc多生产者单消费者模型1.创建一个简单的模型2.分批发送数据3. 使用clone来产生多个生产者 三、共享状态&#xff1a;互斥锁1. 创建一个简单的锁2. 使用互斥锁解决引用问题 前言 并发编程&#xff08;Concurrent programming&#xff09;&#…

【Java Web基础】一些网页设计基础(三)

文章目录 1. 导航栏样式进一步调整2. 入驻企业信息展示栏2.1 Title设置2.2 具体信息添加 3. 轮播图4. 注册登录按钮及其他信息5. 一些五颜六色的、丰富视觉效果的中间件…… 1. 导航栏样式进一步调整 这种导航栏&#xff0c;选中的时候字体变蓝色&#xff0c;可能还是不够美观&…

C++进阶--哈希

哈希概念 哈希&#xff08;Hash&#xff09;是一种常见的密码学技术和数据结构&#xff0c;它将任意长度的输入通过散列算法转换成固定长度的输出&#xff0c;这个输出被称为散列值或哈希值。哈希函数是一种单向函数&#xff0c;即从哈希值无法反推出原始输入值。 哈希函数具有…