m1芯片的Macos系统安装java 8

我日常工作里经常要把odps上的数据拉到桌面上在钉钉上发来发去,因为公司的数据安全政策,odps默认结果一次只能最多复制100行,如果是1000行的数据就要点击10遍,很烦人,不然就要走download审批,也很烦人。于是我忘了从哪里搞来了一个叫odps_clt_release_64 这么个工具,它可以用命令行直接通过内网把需要的数据拉到macos上。

但是我现在换了一个新的苹果,换了m1芯片很高档,当我在odps_clt_release_64路径里执行熟悉的odpscmd命令时,报错:

1
2
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.

发现系统里面没有java了,于是我就直接跑去https://www.oracle.com/java/technologies/downloads/ 里,下载最新的香喷喷的jdk 22,由于我是M1芯片,所以下载的是ARM64 DMG Installer,一顿操作安装之后,再执行odpscmd命令时,换了一个报错:

1
2
Error occurred during initialization of boot layer
java.lang.module.FindException: Module java.xml.bind not found

google了一下发现,原来 java.xml.bind 在JDK 11及以上的版本里被干掉了。原来python2升级python3后,因为功能调整而无法启动的痛苦在java也有。于是我就只能去下载一个java8,于是来到 https://www.oracle.com/java/technologies/downloads/#java8-mac 里,下载对应的ARM64 DMG Installer,这里比较恶心,要下载老java必须要注册,于是耐着性子注册了一下,顺利下载并安装。然后这次启动odpscmd就好了:

paradin

然后就是要删除之前下载的jdk-22,删除的方法很简单,在/Library/Java/JavaVirtualMachines/ 里找到对应的jdk-22.jdk,然后直接rm -rf删除就好了。

如果执行java -version的时候,出现了 java.lang.Error:Properties init:Could not determine current working directory,那是因为你当前的目录已经不存在了,换一个目录,重新执行java -version这个命令就行。

感谢您请我喝咖啡~O(∩_∩)O,如果要联系请直接发我邮箱chenx1242@163.com,我会回复你的
-------------本文结束感谢您的阅读-------------