Ubuntu通过分用户进行多版本jdk配置

前言:本文内容为实操记录,仅供参考!

linux安装jdk参考:http://t.csdnimg.cn/TeECj

出发点:最新的项目需要用jdk17来编译,就把服务器的jdk版本升级到了17,但是有一些软件例如nexus还需要jdk1.8进行启动,这就需要在同一个服务器上配置两个版本的jdk,分别是jdk17、jdk1.8。

一、新建用户:
        1、使用 sudo adduser username -home /home/username/ 命令新建用户,使用此方式新建的用户可以通过远程访问。
        2、赋予新建用户sudo权限,使用 sudo visudo 命令打开sudo配置文件,
在#includedir /etc/sudoers.d下添加 username   ALL=(ALL:ALL) ALL  保存之后通过 source /etc/sudoers 命令进行刷新, 此时新建用户拥有sudo权限。
        
         3、 sudo chown -R username /home/username 通过此命令将新建用户家目录中所有子文件的所有权给到新建用户。
二、分用户配置多版本jdk:

        将jdk配置由原来的系统环境变量(/etc/profile)更改为用户环境变量(/.bashrc

1、.bashrc文件操作命令:
        编辑:
nano ~/.bashrc  (编辑之后ctrl+x再输入y再回车就成功保存了)
        刷新:
source ~/.bashrc (每次编辑完成之后务必立即进行刷新)

2、删除/etc/profile中jdk的环境变量,在新建用户下的/.bashrc文件中添加jdk环境变量。

export JAVA_HOME=/usr/local/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$JAVA_HOME/lib/dt.jar:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

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

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

相关文章

新体验、高效能,星河零代码产线加速带动产业新质生产力

2023年12月,在Wave Summit深度学习开发者大会上,飞桨隆重推出了端云协同的低代码开发工具——PaddleX。这款一站式AI开发工具集成了飞桨开发套件多年积累的模型训练、推理全流程开发的优势能力。同时立足产业真实应用场景,内置12个面向产业应…

Linux系统使用Docker部署MinIO结合内网穿透实现公网访问本地存储服务

文章目录 前言1. Docker 部署MinIO2. 本地访问MinIO3. Linux安装Cpolar4. 配置MinIO公网地址5. 远程访问MinIO管理界面6. 固定MinIO公网地址 前言 MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等。它兼…

Unity2018发布安卓报错 Exception: Gradle install not valid

Unity2018发布安卓报错 Exception: Gradle install not valid Exception: Gradle install not valid UnityEditor.Android.GradleWrapper.Run (System.String workingdir, System.String task, System.Action1[T] progress) (at <c67d1645d7ce4b76823a39080b82c1d1>:0) …

Turborepo 1.13 发布!新终端 UI 与本地任务交互

近日&#xff0c;Turborepo 1.13 带来了全新改进的本地开发体验以及其他增强功能&#xff0c;包括 新终端 UI&#xff1a;在增强的终端体验中与本地任务交互启用最快的默认设置&#xff1a;使用 turbo scan 让本地开发环境更快CI 日志改进&#xff1a;支持四个主要提供商并自动…

WebSocket 和 HTTP 的区别:简单易懂

在当今的数字时代&#xff0c;及时交付内容和维持用户互动已成为网络应用不可或缺的要素。这一需求催生了新的通信规范——WebSocket 和 HTTP&#xff0c;尽管两者都服务于网络通讯&#xff0c;它们之间却存在显着的差异。本篇文章旨在剖析这两种协议在应用案例、技术细节、性能…

R语言使用dietaryindex包计算NHANES数据多种营养指数(2)

健康饮食指数 (HEI) 是评估一组食物是否符合美国人膳食指南 (DGA) 的指标。Dietindex包提供用户友好的简化方法&#xff0c;将饮食摄入数据标准化为基于指数的饮食模式&#xff0c;从而能够评估流行病学和临床研究中对这些模式的遵守情况&#xff0c;从而促进精准营养。 该软件…

AI模型开发 “智能炼金术“:进化合并模型的妙招 !开启AI模型开发的新时代

『 近期&#xff0c;日本大模型公司sakana.ai&#xff08;正是“Transformer八子”之一所创办的公司&#xff09;&#xff0c;把Huggingface上的现成模型拿来“攒一攒”—— 直接就组合出新的强大模型&#xff1f; &#xff01; 』 想出这么 一个进化合并模型的妙招&#xff0c…

DC-5靶机

一.环境搭建 1.下载地址 靶机下载地址&#xff1a;https://download.vulnhub.com/dc/DC-5.zip 2.虚拟机配置 切换nat模式&#xff0c;有问题全选重试和是&#xff0c;打到这了&#xff0c;我感觉这个配置我都不用写了&#xff0c;启动靶机如下图所示即可 二.开始渗透 1.信…

【IC前端虚拟项目】write_path子模块DS与RTL编码

【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客 read_path的代码完成之后,就可以开始整个项目里复杂度最高、bug最多、时序收敛最为困难的模块——write_path的开发了!我自己写过两次这个虚拟项目,每次都是在这里耗时最久,所以大家也可以挑战一下自…

百源生物诚邀您参观2024上海生物发酵产品与技术装备展

参展企业介绍 百源生物致力于提高微生物工业发酵的过程控制水平&#xff0c;以“发酵过程的智能化”为公司使命&#xff0c;通过反应器设计、营养量化、代谢监控及数据分析等手段让复杂的微生物发酵过程变得透明简单&#xff0c;从而实现发酵过程的精确量化控制。 公司…

Spring Boot 工程开发常见问题解决方案,日常开发全覆盖

本文是 SpringBoot 开发的干货集中营&#xff0c;涵盖了日常开发中遇到的诸多问题&#xff0c;通篇着重讲解如何快速解决问题&#xff0c;部分重点问题会讲解原理&#xff0c;以及为什么要这样做。便于大家快速处理实践中经常遇到的小问题&#xff0c;既方便自己也方便他人&…

【计算机网络】第 11、12 问:流量控制和可靠传输机制有哪些?

目录 正文流量控制的基本方法停止-等待流量控制基本原理滑动窗口流量控制基本原理 可靠传输机制1. 停止-等待协议2. 后退 N 帧协议&#xff08;GBN&#xff09;3. 选择重传协议&#xff08;SR&#xff09; 正文 流量控制涉及对链路上的帧的发送速率的控制&#xff0c;以使接收…