ubantu让jdk11 和jdk8共存

时间: 2023-10-26 13:07:07 浏览: 158
在Ubuntu中让JDK11和JDK8共存的方法如下: 1. 首先安装JDK11和JDK8,可以通过apt-get命令或者手动下载安装包进行安装。 2. 设置JDK11为默认的JDK版本,可以使用命令sudo update-alternatives --config java来进行设置。 3. 创建一个新的目录用于存放JDK8的文件,例如/usr/lib/jvm/jdk8。 4. 将JDK8的文件解压到新创建的目录中。 5. 使用命令sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk8/bin/java 1来将JDK8添加到系统的可选项中。 6. 使用命令sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk8/bin/javac 1来将JDK8的编译器添加到系统的可选项中。 7. 使用命令sudo update-alternatives --config java来选择使用JDK11或JDK8。 8. 验证是否成功,可以使用命令java -version和javac -version来查看当前使用的JDK版本。
相关问题

如何在Ubuntu服务器上设置JAVA环境变量以支持多个JDK版本的共存?

在Ubuntu服务器上设置JAVA环境变量以支持多个JDK版本共存是一项复杂但必要的技术操作,尤其是当你需要在不同的项目中使用不同版本的JDK时。首先,我们需要了解不同版本JDK的安装路径。接下来,我会结合《Ubuntu服务器上部署JAVA项目:JDK与MySQL安装指南》来详细说明如何设置环境变量。 参考资源链接:[Ubuntu服务器上部署JAVA项目:JDK与MySQL安装指南](https://wenku.csdn.net/doc/7jqp9vnswm?spm=1055.2569.3001.10343) 1. **安装多个JDK版本**:首先,确保你已经在服务器上安装了所有需要的JDK版本,每个版本的JDK都应解压缩到不同的目录,例如 `/usr/local/jdk1.8.0_162` 和 `/usr/local/jdk11.0.2`。 2. **配置JAVA_HOME**:打开终端,编辑`.bashrc`文件来设置环境变量。使用命令`vim ~/.bashrc`打开文件。在文件中为每个JDK版本设置一个`JAVA_HOME`环境变量,并为每个版本设置一个别名,如: ```bash export JAVA_8_HOME=/usr/local/jdk1.8.0_162 export JAVA_11_HOME=/usr/local/jdk11.0.2 alias java8='export JAVA_HOME=$JAVA_8_HOME; export PATH=$JAVA_HOME/bin:$PATH' alias java11='export JAVA_HOME=$JAVA_11_HOME; export PATH=$JAVA_HOME/bin:$PATH' ``` 3. **使用source命令更新环境变量**:在`.bashrc`文件中添加了新的环境变量后,需要使用`source ~/.bashrc`命令来加载更新后的环境变量。 4. **切换JDK版本**:通过别名切换到你想要使用的JDK版本。例如,如果你想要使用Java 8,就执行`java8`命令;如果你想要使用Java 11,就执行`java11`命令。 5. **验证设置**:切换到相应版本后,使用`echo $JAVA_HOME`命令来检查当前设置的`JAVA_HOME`环境变量是否正确。使用`java -version`命令来验证当前使用的是哪个版本的Java。 此外,如果你需要在项目中指定使用特定版本的JDK,你可以在编译和运行时使用`JAVA_HOME`指定的路径。例如,使用Java 8来编译项目可以执行: ```bash $JAVA_8_HOME/bin/javac Main.java ``` 在执行时可以指定: ```bash $JAVA_8_HOME/bin/java Main ``` 通过以上步骤,你可以在Ubuntu服务器上灵活配置并使用多个JDK版本。这样的设置不仅提高了开发的灵活性,还有助于保持不同项目的依赖一致性。如果你对这个过程中的任何步骤还有疑问,建议详细阅读《Ubuntu服务器上部署JAVA项目:JDK与MySQL安装指南》,这本书将为你提供更深入的指导和案例研究。 参考资源链接:[Ubuntu服务器上部署JAVA项目:JDK与MySQL安装指南](https://wenku.csdn.net/doc/7jqp9vnswm?spm=1055.2569.3001.10343)

双系统ubuntu安装java环境1.8

在Ubuntu系统上安装Java 1.8环境通常涉及几个步骤,假设你已经有一个Ubuntu 16.04或更高版本,并且有一个Windows子系统(WSL 2)与之共存。以下是安装过程: **步骤1:更新和安装必要的包** ``` sudo apt-8-jdk-headless ``` **步骤2:添加Oracle官方Java PPA(可选)** 由于官方Ubuntu仓库可能不包含最新的Java版本,你可以选择添加Oracle的PPA(个人软件包档案)。运行以下命令(替换`YOUR-PASSWORD`为你系统的密码): ```sh sudo add-apt-repository ppa:webupd8team/java echo "oracle-java8-installer shared/accepted-oracle-license-v1-1 select true" | sudo debconf-set-selections sudo apt-get update sudo apt-get install oracle-java8-installer ``` 输入密码并确认安装。 **步骤3:检查Java安装** 安装完成后,你可以通过命令行检查Java是否已成功安装: ``` java -version ``` 这将显示安装的Java 1.8版本信息。 **注意事项:** - 如果你更喜欢使用Snap安装,可以尝试`sudo snap install java`,然后同样检查`java -version`。 - 安装过程中可能会提示权限问题,此时需要输入管理员密码(sudo 提示时)。 - WSL2环境下,Ubuntu和Windows之间的文件共享是无缝的,但在Ubuntu内运行Java应用仍需注意路径设置。
阅读全文

相关推荐

最新推荐

recommend-type

在Ubuntu系统下安装JDK和Tomcat的教程

在Ubuntu系统下搭建Java和JSP开发环境,首要任务是安装JDK(Java Development Kit)和Tomcat。JDK是Java编程的基础,包含了编译器、调试器以及Java运行环境。Tomcat则是一个开源的Java Servlet容器,用于部署和运行...
recommend-type

JAVA JDK8 List分组的实现和用法

JAVA JDK8 List分组的实现和用法 JAVA JDK8 List分组的实现和用法是指在JAVA中,使用JDK 8的Stream API对List进行分组的操作。分组是指根据某个属性将List中的元素分配到不同的组中,以便于后续处理。 在JDK 8中,...
recommend-type

Ubuntu安装jdk1.8

Ubuntu 安装 JDK 1.8 在本文中,我们将详细介绍如何在 Ubuntu 14.04 操作系统中安装 JDK 1.8。安装 JDK 是 Java 开发的必备条件,本文将一步步指导您完成安装流程。 一、下载 JDK 首先,我们需要下载 Linux 版本...
recommend-type

JAVA JDK8 List获取属性列表

JAVA JDK8 List获取属性列表 在 Java 中,获取 List 元素对象中某个属性的列表是一个非常常见的操作。从 JDK 1.8 开始,我们可以使用 Java 8 的 Stream API 来实现这个功能。本文将为大家分享如何使用 Java 8 的 ...
recommend-type

ubuntu 下JDK环境变量配置方法

在Ubuntu系统中配置JDK环境变量是安装Java开发工具包后的重要步骤,这使得系统能够识别和使用Java。本文将详细讲解如何在Ubuntu上配置JDK的环境变量。 首先,你需要确认当前系统中是否已安装了Java。通过执行`java ...
recommend-type

C语言数组操作:高度检查器编程实践

资源摘要信息: "C语言编程题之数组操作高度检查器" C语言是一种广泛使用的编程语言,它以其强大的功能和对低级操作的控制而闻名。数组是C语言中一种基本的数据结构,用于存储相同类型数据的集合。数组操作包括创建、初始化、访问和修改元素以及数组的其他高级操作,如排序、搜索和删除。本资源名为“c语言编程题之数组操作高度检查器.zip”,它很可能是一个围绕数组操作的编程实践,具体而言是设计一个程序来检查数组中元素的高度。在这个上下文中,“高度”可能是对数组中元素值的一个比喻,或者特定于某个应用场景下的一个术语。 知识点1:C语言基础 C语言编程题之数组操作高度检查器涉及到了C语言的基础知识点。它要求学习者对C语言的数据类型、变量声明、表达式、控制结构(如if、else、switch、循环控制等)有清晰的理解。此外,还需要掌握C语言的标准库函数使用,这些函数是处理数组和其他数据结构不可或缺的部分。 知识点2:数组的基本概念 数组是C语言中用于存储多个相同类型数据的结构。它提供了通过索引来访问和修改各个元素的方式。数组的大小在声明时固定,之后不可更改。理解数组的这些基本特性对于编写有效的数组操作程序至关重要。 知识点3:数组的创建与初始化 在C语言中,创建数组时需要指定数组的类型和大小。例如,创建一个整型数组可以使用int arr[10];语句。数组初始化可以在声明时进行,也可以在之后使用循环或单独的赋值语句进行。初始化对于定义检查器程序的初始状态非常重要。 知识点4:数组元素的访问与修改 通过使用数组索引(下标),可以访问数组中特定位置的元素。在C语言中,数组索引从0开始。修改数组元素则涉及到了将新值赋给特定索引位置的操作。在编写数组操作程序时,需要频繁地使用这些操作来实现功能。 知识点5:数组高级操作 除了基本的访问和修改之外,数组的高级操作包括排序、搜索和删除。这些操作在很多实际应用中都有广泛用途。例如,检查器程序可能需要对数组中的元素进行排序,以便于进行高度检查。搜索功能用于查找特定值的元素,而删除操作则用于移除数组中的元素。 知识点6:编程实践与问题解决 标题中提到的“高度检查器”暗示了一个具体的应用场景,可能涉及到对数组中元素的某种度量或标准进行判断。编写这样的程序不仅需要对数组操作有深入的理解,还需要将这些操作应用于解决实际问题。这要求编程者具备良好的逻辑思维能力和问题分析能力。 总结:本资源"c语言编程题之数组操作高度检查器.zip"是一个关于C语言数组操作的实际应用示例,它结合了编程实践和问题解决的综合知识点。通过实现一个针对数组元素“高度”检查的程序,学习者可以加深对数组基础、数组操作以及C语言编程技巧的理解。这种类型的编程题目对于提高编程能力和逻辑思维能力都有显著的帮助。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

【KUKA系统变量进阶】:揭秘从理论到实践的5大关键技巧

![【KUKA系统变量进阶】:揭秘从理论到实践的5大关键技巧](https://giecdn.blob.core.windows.net/fileuploads/image/2022/11/17/kuka-visual-robot-guide.jpg) 参考资源链接:[KUKA机器人系统变量手册(KSS 8.6 中文版):深入解析与应用](https://wenku.csdn.net/doc/p36po06uv7?spm=1055.2635.3001.10343) # 1. KUKA系统变量的理论基础 ## 理解系统变量的基本概念 KUKA系统变量是机器人控制系统中的一个核心概念,它允许
recommend-type

如何使用Python编程语言创建一个具有动态爱心图案作为背景并添加文字'天天开心(高级版)'的图形界面?

要在Python中创建一个带动态爱心图案和文字的图形界面,可以结合使用Tkinter库(用于窗口和基本GUI元素)以及PIL(Python Imaging Library)处理图像。这里是一个简化的例子,假设你已经安装了这两个库: 首先,安装必要的库: ```bash pip install tk pip install pillow ``` 然后,你可以尝试这个高级版的Python代码: ```python import tkinter as tk from PIL import Image, ImageTk def draw_heart(canvas): heart = I
recommend-type

基于Swift开发的嘉定单车LBS iOS应用项目解析

资源摘要信息:"嘉定单车汇(IOS app).zip" 从标题和描述中,我们可以得知这个压缩包文件包含的是一套基于iOS平台的移动应用程序的开发成果。这个应用是由一群来自同济大学软件工程专业的学生完成的,其核心功能是利用位置服务(LBS)技术,面向iOS用户开发的单车共享服务应用。接下来将详细介绍所涉及的关键知识点。 首先,提到的iOS平台意味着应用是为苹果公司的移动设备如iPhone、iPad等设计和开发的。iOS是苹果公司专有的操作系统,与之相对应的是Android系统,另一个主要的移动操作系统平台。iOS应用通常是用Swift语言或Objective-C(OC)编写的,这在标签中也得到了印证。 Swift是苹果公司在2014年推出的一种新的编程语言,用于开发iOS和macOS应用程序。Swift的设计目标是与Objective-C并存,并最终取代后者。Swift语言拥有现代编程语言的特性,包括类型安全、内存安全、简化的语法和强大的表达能力。因此,如果一个项目是使用Swift开发的,那么它应该会利用到这些特性。 Objective-C是苹果公司早前主要的编程语言,用于开发iOS和macOS应用程序。尽管Swift现在是主要的开发语言,但仍然有许多现存项目和开发者在使用Objective-C。Objective-C语言集成了C语言与Smalltalk风格的消息传递机制,因此它通常被认为是一种面向对象的编程语言。 LBS(Location-Based Services,位置服务)是基于位置信息的服务。LBS可以用来为用户提供地理定位相关的信息服务,例如导航、社交网络签到、交通信息、天气预报等。本项目中的LBS功能可能包括定位用户位置、查找附近的单车、计算骑行路线等功能。 从文件名称列表来看,包含的三个文件分别是: 1. ios期末项目文档.docx:这份文档可能是对整个iOS项目的设计思路、开发过程、实现的功能以及遇到的问题和解决方案等进行的详细描述。对于理解项目的背景、目标和实施细节至关重要。 2. 移动应用开发项目期末答辩.pptx:这份PPT文件应该是为项目答辩准备的演示文稿,里面可能包括项目的概览、核心功能演示、项目亮点以及团队成员介绍等。这可以作为了解项目的一个快速入门方式,尤其是对项目的核心价值和技术难点有直观的认识。 3. LBS-ofo期末项目源码.zip:这是项目的源代码压缩包,包含了完成单车汇项目所需的全部Swift或Objective-C代码。源码对于理解项目背后的逻辑和实现细节至关重要,同时也是评估项目质量、学习最佳实践、复用或扩展功能的基础。 综合上述信息,"嘉定单车汇(IOS app).zip"不仅仅是一个应用程序的压缩包,它还代表了一个团队在软件工程项目中的完整工作流程,包含了项目文档、演示材料和实际编码,为学习和评估提供了一个很好的案例。