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

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.mzph.cn/news/758923.shtml

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

相关文章

软件工程-第9章 软件工程项目管理概述

9.1 软件工程管理活动 9.2 软件规模、成本和进度估算 9.3 能力成熟度模型CMM 9.4 ISO 9000系列标准简介 9.5 CMM与ISO 9000系列标准的比较 9.6 本章小结

Matlab|基于多目标粒子群算法的配电网储能选址定容

目录 一、主要内容 二、主要流程 三、部分程序 四、程序结果 五、程序链接 一、主要内容 程序是对文章《基于多目标粒子群算法的配电网储能选址定容》的方法复现&#xff0c;具体内容如下&#xff1a; 以系统节点电压水平&#xff08;电网脆弱性&#xff09;、网络损耗以及…

数据库系统概论-第5章 数据库完整性

5.1 实体完整性 5.2 参照完整性 5.3 用户定义完整性 5.4 完整性约束命名子句 5.5 域中的完整性限制 5.6 断言 5.7 触发器 5.8 小结

Pytest自动化测试框架快速上手(超详细)

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号&#xff1a;互联网杂货铺&#xff0c;回复1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;薪资嘎嘎涨 pytest是一个非常成熟的全功能的Python测试框架&#…

蓝桥杯单片机快速开发笔记——NE555测频

一、原理分析 NE555作为一种多功能集成电路&#xff0c;在信号发生和频率测量方面具有广泛的应用。通过合理配置和连接外部元件&#xff0c;可以实现不同类型的信号发生和频率测量功能。 原理&#xff1a; 信号发生器&#xff1a; NE555可以配置为多种不同的振荡器电路&#x…

【鸿蒙HarmonyOS开发笔记】通知模块之发布基础类型通知,内含如何将图片变成PixelMap对象

通知简介 应用可以通过通知接口发送通知消息&#xff0c;终端用户可以通过通知栏查看通知内容&#xff0c;也可以点击通知来打开应用。 通知常见的使用场景&#xff1a; 显示接收到的短消息、即时消息等。 显示应用的推送消息&#xff0c;如广告、版本更新等。 显示当前正…

基于cnn深度学习的yolov5+pyqt+分类+resnet+骨龄检测系统

往期热门博客项目回顾&#xff1a; 计算机视觉项目大集合 改进的yolo目标检测-测距测速 路径规划算法 图像去雨去雾目标检测测距项目 交通标志识别项目 yolo系列-重磅yolov9界面-最新的yolo 姿态识别-3d姿态识别 深度学习小白学习路线 YOLOv5与骨龄识别 YOLOv5&a…

极简生活|2024年让自己越来越好的18个极简好习惯

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 转眼间已经进入了2024年&#xff0c;新的一年&#xff0c;新的开始。 俗话说&#xff1a;百尺高台起于垒土&#xff0c;千里之堤毁于蚁穴。 好习惯积累的越多&#xff0c;坏习惯越来越少&#xff0c;我们的生活才能越…

【NLP笔记】预训练+微调范式之OpenAI Transformer、ELMo、ULM-FiT、Bert..

文章目录 OpenAI TransformerELMoULM-FiTBert基础结构Embedding预训练&微调 【原文链接】&#xff1a; BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 【本文参考链接】 The Illustrated BERT, ELMo, and co. (How NLP Cracked Tra…

STL第一弹

2 STL初识 2.1 STL的诞生 长久以来&#xff0c;软件界一直希望建立一种可重复利用的东西 C的面向对象和泛型编程思想&#xff0c;目的就是复用性的提升 大多情况下&#xff0c;数据结构和算法都未能有一套标准,导致被迫从事大量重复工作为了建立数据结构和算法的一套标准,诞生…

Gradio官方文档

文章目录 构建您的第一个demo分享您的demo进度条受密码保护的应用程序The Interface class&#xff08;接口类&#xff09;Components Attributes&#xff08;组件属性&#xff09;多个输入和输出组件图像示例嵌套列表描述性内容手风琴中的附加输入The 4 Kinds of Gradio Inter…

蓝桥杯Python B组练习——完美的代价

一、题目 问题描述   回文串&#xff0c;是一种特殊的字符串&#xff0c;它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串&#xff0c;它不一定是回文的&#xff0c;请你计算最少的交换次数使得该串变成一个完美的回文串。   交换的定义是…

C语言-----冒泡排序

今天&#xff0c;让我们来学习一下C语言中一个简单的排序算法------冒泡排序。 什么是冒泡排序呢&#xff1f; 冒泡排序是C语言中一个可以将一个数组的内容按照升序或者降序进行重新排列的算法。简单来说&#xff0c;是一种排序的思维。 冒泡排序的核心思想&#xff1a;让同…

【手撸IM】通讯协议设计与实现

【手撸IM】专题由来&#xff1a;之前利用业余空闲时间写一个Java版Akka-Rpc&#xff0c;并且基于它写了一个分布式高性能文件服务&#xff0c;从反馈上来看&#xff0c;还是得到了一定的关注&#xff0c;甚至部分同学真的基于此直接抄作业和二开了。因此有了再进一步去手撸一个…

【Vue】el-select下选组件

系列文章 【Vue】vue增加导航标签 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/134965353 【Vue】Element开发笔记 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/133947977 【Vue】vue&#xff0c;在Windows IIS平台…

修改约束

目录 修改约束 创建数据库 添加约束 删除约束 Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 修改约束 如果说表结构的修改还在可以容忍的范畴之内&#xff0c;那么约束的修改是绝对 100% 禁止的 所有的约束一定要在…

【Flutter 面试题】讲一讲 Dart 的一些重要概念?

【Flutter 面试题】讲一讲 Dart 的一些重要概念&#xff1f; 文章目录 写在前面口述回答补充说明完整代码运行结果详细说明 写在前面 &#x1f64b; 关于我 &#xff0c;小雨青年 &#x1f449; CSDN博客专家&#xff0c;GitChat专栏作者&#xff0c;阿里云社区专家博主&#…

UE5 TPS开发p25 设置大厅,销毁会话,快速退出,检查按钮

这节课主要是完善了菜单选择地图作为游戏大厅,MultiPlayerSessionSubsystem的销毁会话函数,然后就是给Menu菜单添加了Quit和禁止使用按钮 同时还完善了创建房间的漏洞,因为在创建房间的时候如果退出后就马上加入就会发现自己无法创建房间,这是因为服务器判断房间销毁是有一定延…

shell的介绍以及Linux权限的讲解

1 shell命令以及运行原理 1.1 shell命令行的概念 大家在以前的学习中可能会有一个固态的印象&#xff1a; 一台计算机的大概分层为下图 也就是说人可以直接调用计算机的操作系统&#xff0c;但真的是这样吗&#xff1f; 答案是否定的&#xff01; 其实操作系统还有一个“外壳…

31.网络游戏逆向分析与漏洞攻防-网络通信数据包分析工具-其它消息的实现与使用优化

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果 内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;30.数据搜索功能…