mac命令行安装java

安装 sdkman

sdkman 是java的一个版本管理的工具,比homebrew安装java更方便。可以安装多个版本的java

sdkman 的安装命令如下

# 安装sdkman需要科学上网,先设置一下curl的代理,否则会因为网络原因安装失败
# 我用的clashX,代理默认走的是7890端口
export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"# 然后运行sdkman官方的安装命令
curl -s "https://get.sdkman.io" | bash# 等待安装完成后,运行如下命令即可安装成功
source "~/.sdkman/bin/sdkman-init.sh"

注意不能用curl -x http://127.0.0.1:7890 -s "https://get.sdkman.io" | bash 的方式走代理,会网络连接失败。原因似乎是curl走了代理,然后curl下的ssl没有走代理。

安装 Java

  1. sdk list java 找到需要安装的版本
  2. 安装对应的版本,如 sdk install java 17.0.4.1-tem
  3. java会被安装在~/.sdkman/candidates/java/17.0.4.1-tem

关于sdkman的卸载

rm -rf ~/.sdkman 即可删除

Reference

  • macOS - How to install Java 17 - StackOverflow

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

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

相关文章

在C语言中,设置Linux系统时间

C 语言中使用 mktime 函数和 stime 函数来处理时间。 处理之前,需要先获取当前的时间戳。并使用当前的时间戳生成struct tm,struct tm是C语言中用于表示日期和时间的结构体,通常用于在程序中操作和处理日期时间信息。它包含了以下成员变量&a…

DataDreamer:让创建自定义数据集轻松无比!还自带标注!

编辑:OAK中国 首发:oakchina.cn 喜欢的话,请多多👍⭐️✍ 内容可能会不定期更新,官网内容都是最新的,请查看首发地址链接。 ▌前言 Hello,大家好,这里是OAK中国,我是Ash…

C语言----字符数组指针

1.char arr[] {a,b,c,d,e,f}; sizeof分析类型就可以计算所占的内存空间的大小; (1)printf("%d\n", sizeof(arr)); 数组名单独放进里面,计算整个数组大小,所以是6字节; (2&#xff…

Java架构师之路八、安全技术:Web安全、网络安全、系统安全、数据安全等

目录 Web安全: 网络安全: 系统安全: 数据安全: Java架构师之路七、大数据:Hadoop、Spark、Hive、HBase、Kafka等-CSDN博客Java架构师之路九、设计模式:常见的设计模式,如单例模式、工厂模式…

【自动化脚本】常用自动化脚本一览【持续更新】

服务器初始化用户初始化 必备软件JDK1.8mavennginxredis docker相关dokcer安装docker mysql8.0 git相关git安装git卸载 服务器 初始化 wget -O centos7-init.sh https://files.rundreams.net/sh/run-sh/init/centos7-init.sh && sh centos7-init.sh用户初始化 wget …

设置主从复制时发生报错Could not find first log file name in binary log index file‘;解决方案

如图所示,slave_io_runnind:no,slave_sql_running:yes 此时,主从配置错误,我们可以查看Last_IO_Error:来查看报错信息 此时,我们需要停止从服务器的主从服务, mysql> stop slave; Query OK, 0 rows affected, 1 w…

k8s-heml管理 17

Helm是Kubernetes 应用的包管理工具,主要用来管理 Charts,类似Linux系统的 yum。Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在你部署应用的时候自定义应用程序的一些 Metadata,以便于应用程序的分发。 对于应用…

c语言之数组定义和初始化

数组是由类型说明符,数组名常量表达式组成,和python的序列类似。python序列是没有常量表达式 比如,有十个学生成绩,要定义数组如下 int stud[10], int是类型说明符,stud是数组名,[10]表示有1…

压缩感知(Compressed Sensing,CS)的基础知识

压缩感知(Compressed Sensing,CS)是一种用于信号处理的技术,旨在以少于奈奎斯特采样定理所要求的样本频率来重构信号。该技术利用信号的稀疏性,即信号可以用较少的非零系数表示。压缩感知在图像获取中的应用使得在采集…

LabVIEW多场景微振动测试平台与教学应用

LabVIEW多场景微振动测试平台与教学应用 在多种工程实践中,微振动的测试与分析对于评估结构的稳定性及其对环境的影响至关重要。针对这一需求,开发了一套基于NI-cDAQ和LabVIEW的多场景微振动测试平台,提高微振动测试的精确度与灵活性&#x…

Python和Jupyter简介

在本notebook中,你将: 1、学习如何使用一个Jupyter notebook 2、快速学习Python语法和科学库 3、学习一些IPython特性,我们将在之后教程中使用。 这是什么? 这是只为你运行在一个个人"容器"中的一个Jupyter noteboo…

题目 1253: 老王赛马

题目描述: 赛马是一古老的游戏,早在公元前四世纪的中国,处在诸侯割据的状态,历史上称为“战国时期”。在魏国作官的孙膑,因为受到同僚庞涓的迫害,被齐国使臣救出后,到达齐国国都。 赛马是当时最受齐国贵族…

vivado FSM Components

Vivado合成功能 •同步有限状态机(FSM)组件的特定推理能力。 •内置FSM编码策略,以适应您的优化目标。 •FSM提取默认启用。 •使用-fsm_extraction off可禁用fsm提取。 FSM描述 Vivado综合支持Moore和Mealy中的有限状态机(…

week04day04(爬虫)

一. 嵌套构造URL 下载所有英雄的皮肤图片:因为每个英雄图片的网址不同,但是有共同点,通过构建这个网址,再经过循环建立 所有链接 import requests import os# 1. 获取所有英雄的ID def get_all_hero_id():url https://game.gti…

C语言特殊函数

静态函数 背景知识:普通函数都是跨文件可见的,即在文件 a.c 中定义的函数可以在 b.c 中使用。 静态函数:只能在定义的文件内可见的函数,称为静态函数。 语法 staitc void f(void) // 在函数头前面增加关键字 static &#xff…

读取7400MB/s!华为发布eKitStor Xtreme M.2闪存条

今日,华为举行数据存储新春新品发布会,不仅发布全新数据湖解决方案,华为还针对商业市场与分销市场发布了全闪存存储新品。 据介绍,面向游戏加速、影视编辑、户外作业等场景,华为发布eKitStor Xtreme系列高性能M.2闪存条…

Leetcode454四数相加II

参考链接&#xff1a;代码随想录&#xff1a;Leetcode454四数相加II 解法1&#xff1a;听了代码随想录之后自己YY出来的解法&#xff08;200ms&#xff09;&#xff0c;有点慢 class Solution { public:int fourSumCount(vector<int>& nums1, vector<int>&am…

常用的函数式接口(Supplier、Consumer、Predicate、Function)

目录 一.函数式接口作为方法的参数 二.函数式接口作为方法的返回值 三.常用的函数式接口 3.1生产型Supplier接口 3.2消费型Consumer接口 抽象方法&#xff1a;accept 默认方法&#xff1a;andThen 3.3判断型Predicate接口 抽象方法&#xff1a;test 默认方法&#xf…

力扣基础刷题---二分查找

704. 二分查找 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜索 nums 中的 target&#xff0c;如果目标值存在返回下标&#xff0c;否则返回 -1。 中心思想&#xff1a;找到中间值&#xff0c;跟中间值比…

vue3封装接口(自测可用)

注&#xff1a;别忘记安装axios 在实际的项目实战中如果我们不对接口加以管理&#xff0c;整篇看着就很乱&#xff0c;这个时候我们就要用到接口封装了。 废话不多说直接上代码&#xff01;&#xff01;&#xff01; 首先是request.js import axios from "axios";/…