我对mac os、java、eclipse、简单的所有东西,以及所有由于苹果硅的革命而做出的改变都很陌生,这让我抓狂。
我和我的同事正在开发一个基于Eclipse2020-03、jdk 1.8、spring 3的java项目,而且我在我的Macbook M1上安装环境时遇到了困难。
首先,我尝试安装打开的jdk1.8 1.8,并设法在.zshrc中设置路径,然后我安装了Eclipse2020-03,并在它立即崩溃时使用rosetta打开了它。它甚至不会问要打开哪个工作区。
因此,我尝试安装新的Eclipse2022-06 (arm),并将jdk设置为1.8。Eclipse工作得很好,直到我尝试制作一个新的Spring项目时,它给了我java.lang.exceptionininitializererror。我搜索了这个错误的解决方案,只找到了“升级jdk”的建议。
我决定将Eclipse降低到2021-12 ( arm,因为它支持第一个arm),并在jdk11 + set Path中安装.zshrc (注释掉了jdk1.8路径)。当我尝试创建新的spring遗留项目时,我仍然会得到java.lang.exceptionininitializererror。
试过:
java.lang.exceptionininitializererrorjava.lang.exceptionininitializererror有了上面的选项3,我可以在不同的PC上打开spring项目,并且工作得很好。但我还是想解决我的问题。
我想过了,想出了三种方法来解决这些问题:
我的问题是:
加法:我在终端上找不到任何相关的错误,但是我在我的错误日志上找到了这个。

Additions2:我决定使用jdk11安装相对较新的Eclipse(2022-03)。到目前为止,它运行良好,没有任何兼容性问题。
发布于 2022-09-14 09:36:46
不幸的是,rzwitserloot的回答所指的Eclipse / Temurin可能从未为MacOS aarch64提供过JDK8,或者已经删除了它。他们的JDK11和更高,但这不是这个问题。
最后,我发现Azul提供了为MacOS ARM64 (苹果硅)编译的一个版本的MacOS 8:
https://www.azul.com/downloads/?version=java-8-lts&os=macos&architecture=arm-64-bit&package=jdk
我已经安装好了,它似乎运转良好。
java -version
openjdk version "1.8.0_345"
OpenJDK Runtime Environment (Zulu 8.64.0.19-CA-macos-aarch64) (build 1.8.0_345-b01)
OpenJDK 64-Bit Server VM (Zulu 8.64.0.19-CA-macos-aarch64) (build 25.345-b01, mixed mode)发布于 2022-04-18 01:57:41
您可以从JDK8获得包括阿托品在内的所有JDK8的ARM mac版本。
Eclipse是高度向后兼容的。除了最新的稳定版本之外,没有任何合理的理由使用任何东西。
Eclipse本身运行在JVM上。这个JVM不需要成为项目的标准,因为eclipse中的任何项目都可以配置为在任何JVM上运行。因此,如果您需要一个较新的JVM版本来运行eclipse,只需这样做即可。如果你的项目不运行,这并不重要。
更普遍地说,获得一个ExceptionInInitializerError是一个包装器异常。真正的原因就在里面。更严格地检查跟踪;从命令行开始eclipse (打开一个终端,然后运行/path/to/Eclipse.app/Contents/MacOS/eclipse --现在您可以看到终端输出,这可能会有所帮助。"ExceptionInInitializerError“几乎什么也没有说,而且有十亿的原因。如果你想要导致这种情况的异常,那就更具体了。它不太可能与在M1上运行有关;java生态系统中很少有东西关心运行它的芯片。
更普遍地说,如果罗塞塔参与其中,你做错了,没有必要这样做。所有相关的东西(实际上就是JVM,其他的都运行在上面)都是本机可用的。
https://stackoverflow.com/questions/71906787
复制相似问题