Ubuntu18 中JDK的安装

news2024/9/21 20:43:37

文章目录

    • 一、背景说明
    • 二、获取安装包
    • 三、安装JDK
      • 3.1 上传安装包
      • 3.2 复制和解压
      • 3.3 环境变量的设置
      • 3.4 验证安装
    • 四、问题列表
      • 4.1 .bashrc文件在哪里?.bashrc是什么?
      • 4.2 为什么使用rz上传安装包时会报: 传输失败?
    • 五、总结

一、背景说明

开发好的java应用一般需要部署到服务器。出于稳定性、安全性和部署成本的考虑,一般会倾向于将应用部署到Linux系统。而我们今天讨论的是如何在 Ubuntu 系统中部署 java 应用,而 JDK 的安装是应用部署的基础。

环境说明:
操作系统:Ubuntu 18.04.4 LTS
JDK版本:jdk-8u291-linux-x64.tar.gz

二、获取安装包

jdk8 最新版本的下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

jdk8u211及以上版本的下载地址:
https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html

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

从oracle下载安装包,需要注册oracle账号。

三、安装JDK

3.1 上传安装包

我是在windows系统下载的安装包,然后通过XShell的 rz命令进行安装包上传的
具体命令如下:

# 转到~/software目录(如果没有请创建)
cd ~/software

# 执行文件上传
# -b参数:以二进制文件进行上传
sudo rz -b

3.2 复制和解压

上传过程完成后,需要进行文件的复制

#创建/usr/java目录
sudo mkdir /usr/java

#复制文件(注意:cp的第二个参数是一个目录。如果写成/usr/java,并且java目录不存在,就会将第一个参数的文件复制为名称为java的文件)
sudo cp ~/software/jdk-8u291-linux-x64.tar.gz /usr/java/

解压安装包:

# 转到/usr/java目录
cd /usr/java

# 解压文件到指定目录
sudo tar -zvxf jdk-8u291-linux-x64.tar.gz jdk1.8.0_291

# 删除安装包
sudo rm jdk-8u291-linux-x64.tar.gz

3.3 环境变量的设置

环境变量的设置需要使用到 .bashrc文件
相关操作如下:

# 打开.bashrc文件
sudo vim ~/.bashrc

在文件末尾追加如下内容:

##JAVA_CONFIG
JAVA_HOME=/usr/java/jdk1.8.0_291
JRE_HOME=$JAVA_HOME/jre
JAVA_BIN=$JAVA_HOME/bin
CLASSPATH=.:$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 PATH CLASSPATH

这里内容的添加,等价于 windows系统中环境变量的设置
这里有几点内容需要交代一下:

  1. 所有的环境变量都是大写的,而Linux是区分大小写的
  2. 形如$JAVA_HOME 这种 $+环境变量 的写法,都代表对环境变量的引用
  3. $PATH:路径 代表在原路径后面添加新的路径
  4. Unix类系统的环境变量的路径用冒号(:)分割,而不是分号(;)。这一点需要和windows系统进行区分
  5. 为了避免混乱,建议将所有的环境变量都添加在文件末尾,并添加注释。

最后一步千万不要忘记,需要 使配置生效

source ~/.bashrc

3.4 验证安装

验证 JDK 是否安装成功,最简单的方式是在终端执行下面的命令:

java -version

我的服务器上的执行结果如下:
java -version
如果也和我上面一样,提示JDK的具体版本,则表示JDK安装成功!!!

 

四、问题列表

4.1 .bashrc文件在哪里?.bashrc是什么?

答:.bashrc是 home目录下 的一个shell文件。
用途:用于存储用户的个性化设置。.bashrc 中的内容在每次打开终端时都会读取

 
.bashrc 具体用途:
1. 个性化指令
下图是.bashrc的部分内容:
ll
其作用就是定义命令别名ll,其等价于命令:ls -alF

2. 设置环境路径
set
上图展示了环境路径的设置。

3. 提示符设置
相关命令如下:

PS1=[\u: \w]$”

 

4.2 为什么使用rz上传安装包时会报: 传输失败?

在上传jdk安装包的过程中,发生了传输失败的情况,相关截图如下:
error
报错原因:

使用的上传命令如下:

rz -b

因为上传文件到服务器是一个有可能造成安全问题的操作,所以普通用户权限是不够的。因此,上述报错的原因:

当前用户没有权限

解决方法:

既然是因为权限不足导致的失败,所以需要提升权限,可替换为如下命令:

sudo rz -b

 

五、总结

本文讲述了如何在 Ubuntu 系统中安装JDK的一般思路。首先,告诉读者从哪里可以获取安全完整的安装包。然后又指导读者如何上传安装包到服务器,在此过程中使用到了XShell,并用到了rz命令进行文件的传输。

后续又讲解了如何将jdk安装到合适的位置,并设置了相关的环境变量,同时也简单交代了什么是 .bashrc 。最后对整个安装过程进行了验证。

 
 
 
 
 


参考:

  • 使用Xshell的rz命令上传文件失败的解决方法
  • 什么是.bashrc,有什么用?

相关链接:

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

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

相关文章

SpringBoot项目中将word转换为pdf

需求&#xff0c;用户将用户上传的word文件转换成为pdf格式&#xff0c;然后返回 第一步&#xff1a;引入依赖 <dependency><groupId>aspose</groupId><artifactId>aspose-words</artifactId><version>15.8.0-jdk16</version></…

走进标杆 | 宁波市领导一行至金鸡强磁开展专项调研活动

为深入了解supOS助力宁波打造数实融合标杆城市的实践成果&#xff0c;日前&#xff0c;宁波市领导和专家共赴蓝卓supOS标杆项目——宁波金鸡强磁股份有限公司&#xff08;以下简称“金鸡强磁”&#xff09;调研考察&#xff0c;蓝卓总经理助理杨明明、浙江大区副总经理章来胜等…

力扣3202:找出有效子序列的最大长度||

class Solution { public:int maximumLength(vector<int>& nums, int k) {int res0;for(int m0;m<k;m){//假设子序列两数%k之后的结果为m 相当于枚举vector<int> v(k,0);for(auto num:nums){v[num%k]v[(m-num%kk)%k]1; //知道m之后可以知道需要的子序列当前…

做外贸如何高效跟进转化客户

做外贸业务&#xff0c;基本上每天要做的几个事情&#xff0c;开发客户、跟进转化客户、维护客户等等&#xff0c;经常也有外贸新手朋友问我&#xff0c;遇到什么什么客户要怎么跟进&#xff0c;客户不回复怎么办等等&#xff0c;今天就来跟大家聊聊客户跟进转化这块的一些问题…

通俗易懂讲解电池的主要性能参数(下)

接上期内容&#xff0c;上次主要分享影响电池性能评估的两个主要性能参数&#xff1a;电池容量和电池功率。可以点击这里回顾&#xff1a;一起学习电池的主要性能参数和测试方法 今日接着分享电池性能评估的另外两个主要性能参数&#xff1a;电池的使用寿命和自放电率。 上期…

react 快速入门思维导图

在掌握了react中一下的几个步骤和语法&#xff0c;基本上就可以熟练的使用react了。 1、组件的使用。react创建组件主要是类组件和函数式组件&#xff0c;类组件有生命周期&#xff0c;而函数式组件没有。 2、jsx语法。react主要使用jsx语法&#xff0c;需要使用babel和webpa…

SSM 整合(Spring + MyBatis;Spring + Spring MVC)

1. SSM 整合(Spring MyBatis&#xff1b;Spring Spring MVC) 文章目录 1. SSM 整合(Spring MyBatis&#xff1b;Spring Spring MVC)2. 引入相关依赖3. SSM 整合3.1 创建包结构 4. Spring 整合 MyBatis4.1 编写 jdbc.properties4.2 编写 DataSourceConfig 数据源配置4.3 编…

样式布局学习:盒模型浮动FlexboxGrid Layout定位(Positioning响应式布局(Responsive Layout):

看视频确实更容易理解&#xff0c;但是花费时间有点长了&#xff0c;以下是一些官方文档网址&#xff08;可切换中文&#xff09;&#xff0c;也算是节省时间了&#xff1a; 在前端开发中&#xff0c;布局样式是非常重要的一部分&#xff0c;它决定了页面中元素的位置和排列方…

wps office 2019 Pro Plus 集成序列号Vba安装版教程

前言 wps office 2019专业增强版含无云版是一款非常方便的办公软件&#xff0c;我们在日常的工作中总会碰到需要使用WPS的时候&#xff0c;它能为我们提供更好的文档编写帮助我们更好的去阅读PDF等多种格式的文档&#xff0c;使用起来非常的快捷方便。使用某银行专业增强版制作…

snmp++操作之trap

文章目录 snmp六种操作简述Get&#xff08;获取操作&#xff09;&#xff1a;Get Next&#xff08;获取下一个操作&#xff09;&#xff1a;Get Bulk&#xff08;批量获取操作&#xff09;&#xff1a;Set&#xff08;设置操作&#xff09;&#xff1a;Inform&#xff08;通知操…

数据建模标准-面向对象建模

前情提要 数据模型定义 DAMA数据治理体系中将数据模型定义为一种文档形式&#xff0c;数据模型是用来将数据需求从业务传递到IT,以及在IT内部从分析师、建模师和架构师到数据库设计人员和开发人员的主要媒介&#xff1b; 作用 记录数据需求和建模过程中产生的数据定义&…

任意空间平面点云旋转投影至水平面—罗德里格旋转公式

1、背景介绍 将三维空间中位于任意平面上的点云数据&#xff0c;通过一系列的坐标变换&#xff08;平移旋转&#xff09;&#xff0c;使其投影到XOY平面上&#xff0c;同时保证点云的几何中心与XOY平面的原点重合&#xff0c;同时点云形状保持不变。具体效果如下&#xff0c;具…

51单片机8(LED闪烁)

一、软件设计&#xff1a; 1、本章所要实现的功能是&#xff1a;点亮D1指示灯&#xff0c;即让P2.0管脚输出一个低电平。完成后可再控制D1指示灯闪烁&#xff0c;即间隔一段时间点亮和熄灭D1指示灯。那么如何让LED进行闪烁&#xff0c;那么只需要循环的让这个低指针先亮一会&a…

Docker搭建Harbor

1.什么是Harbor Harbor 是 vMware 公司开源的企业级 Docker 〖egistry 项日&#xff0c;其日标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。Harbor以 Docker 公司开源的 Registry 为基础&#xff0c;提供了图形管理UI 、基于角色的访问控制(Role Based Accesscontr…

地图项目涉及知识点总结

序&#xff1a;最近做了一个在地图上标记点的项目&#xff0c;用户要求是在地图上显示百万量级的标记点&#xff0c;并且地图仍要可用&#xff08;能拖拽&#xff0c;能缩放&#xff09;。调研了不少方法和方案&#xff0c;最终实现了相对流畅的地图系统&#xff0c;加载耗时用…

LLaMA 数据集

LLaMA的训练数据集来源多样&#xff0c;涵盖了多个不同的数据集和预处理步骤。以下是详细的描述&#xff1a; 公开数据来源和预处理 CommonCrawl [67%]&#xff1a; 使用CCNet管道&#xff08;Wenzek等人&#xff0c;2020年&#xff09;对2017年至2020年间的五个CommonCrawl转…

基于 Springboot + vue + java 美食分享平台(美食管理系统)

目录 &#x1f4da; 前言 &#x1f4d1;摘要 &#x1f4d1;操作流程 &#x1f4da; 系统架构设计 &#x1f4da; 数据库设计 &#x1f4ac; E-R表 &#x1f4ac; 用户表 &#x1f4ac; 美食分享文章表 &#x1f4ac;个人博客表 &#x1f4ac; 美食分类表 &#x1f4ac; …

如何根据项目需求选择采集卡及相关硬件

在选择适合的采集卡和硬件设备时&#xff0c;尤其是在要求高精度的应用场景中&#xff08;如压机测试中的1μm位移计&#xff09;&#xff0c;需要综合考虑多个因素。以下是选择硬件的几个关键原则&#xff1a; 1. 精度要求 对于需要高精度的应用&#xff0c;硬件的精度必须能…

Java代码批量处理sql语句

背景&#xff1a;数据源迁移&#xff0c;目标数据源和原始数据源的语法不同&#xff0c;要把建表语句全都改成新的语法。 一个个sql文件去替换实在是麻烦&#xff0c;可以把原始的sql文件放在一个文件夹&#xff0c;然后用程序一跑&#xff0c;改完语法的sql语句就放在新的文件…

口袋奇兵游戏攻略:云手机辅助战锤入侵策略指南!

在《口袋奇兵》中&#xff0c;战锤入侵是一个重要的游戏环节&#xff0c;了解如何有效地参与战锤入侵能够帮助玩家获取更多的资源和提升自己的战力。本文将详细介绍战锤入侵的策略和技巧&#xff0c;帮助玩家在战锤入侵活动中取得更好的成绩。除了找到强力的游戏辅助&#xff0…