繁体   English   中英

在macbook m1上安装eclipse 2020-03, jdk 1.8, spring3

[英]Installing eclipse 2020-03, jdk 1.8, spring3 on macbook m1

我对mac os,java,eclipse,所有东西都比较陌生,而且由于革命性的苹果硅而发生的所有变化都让我发疯。

My co-workers and I are working on a java project based on Eclipse 2020-03, jdk 1.8, spring 3. and I'm having trouble installing the environment on my Macbook M1.

首先,我尝试安装打开的 jdk1.8 并设法设置 PATH in.zshrc 然后我安装了 Eclipse 2020-03 并在它立即崩溃时使用 Rosetta 打开它。 它甚至不会询问要打开哪个工作区。

所以我尝试安装新的 Eclipse 2022-06 (arm) 并将 jdk 设置为 1.8。 Eclipse 工作正常,直到我尝试制作一个新的 Spring MVC 项目时它给了我java.lang.exceptionininitializererror 我搜索了这个错误的解决方案,只找到了“升级你的 jdk”的建议。

我决定将 Eclipse 版本降低到 2021-12(arm,因为它支持第一个 arm),并安装 jdk11 + set Path in.zshrc(注释掉 jdk1.8 路径)。 当我尝试创建新的 spring 遗留项目时,我仍然得到java.lang.exceptionininitializererror

试过:

  • 选项 1. Eclipse 2020-03 (macOS x86_64) + jdk1.8 -> eclipse 不会打开

  • 选项 2. Eclipse 2022-06 (AArch64) + jdk1.8 -> java.lang.exceptionininitializererror在创建 Z2A2D595E2B6A0B234D6Z027 项目时出错

  • 选项 3. Eclipse 2021-12 (AArch64) + jdk11 -> java.lang.exceptionininitializererror when created Z2A2D595E6ED9A0B234D027F

使用上面的选项 3,我可以在另一台 PC 中打开 spring-mvc-project 设置并且工作正常。 但我仍然想解决我的问题。

我仔细考虑并想出了三种方法来解决这些问题:

  1. 与我的同事拥有完全相同的 Eclipse、jdk、spring 版本(选项 1),尝试修复 start-eclipse 问题。 -> 因为我使用的是 Rosetta,所以速度很慢,但我不会与我的同事有兼容性问题
  2. 使用最新的 Eclipse,jdk,spring3 -> 速度快,问题少,但我想我会有很多兼容性问题
  3. 使用相对较旧但支持苹果硅的 Eclipse(选项 3),jdk 11 -> 快速,有一些兼容性问题(如果我解决了 'java.lang.exceptionininitializererror' 问题)

我的问题是:

  1. 在上面列出的三种方式中,您建议我尝试哪种方式?
  2. 在尝试这种特定方式时,我该如何解决我面临的问题?

另外:我在终端上找不到任何相关的错误,但我在错误日志中找到了这个

错误说明

补充2:我决定安装相对较新的Eclipse(2022-03),使用jdk11。 到目前为止它工作正常,没有任何兼容性问题

您可以从 Adoptium 获得所有 JDK 的 ARM mac 版本,包括JDK8

Eclipse 高度向后兼容。 除了最新的稳定版本之外,没有任何合理的理由使用任何东西。

Eclipse 本身在 JVM 上运行。 这个 JVM 不需要成为您的项目标准化的对象,因为 eclipse 中的任何项目都可以配置为在您想要的任何 JVM 上运行。 因此,如果听起来您需要更新的 JVM 版本来运行 eclipse,就这样做。 如果你的项目不能在上面运行也没关系。

更一般地,获取 ExceptionInInitializerError 是一个包装异常。 真正的原因在里面。 更严格地检查痕迹; 从命令行启动 eclipse(打开终端,然后运行/path/to/Eclipse.app/Contents/MacOS/eclipse - 现在您可以看到终端 output,这可能会有所帮助。“ExceptionInInitializerError”几乎什么也没说,有十亿原因。您想要导致该异常的异常,这将更加具体。这不太可能与在 M1 上运行有关;java 生态系统中的很少东西会关心您运行它的芯片。

更一般地说,如果涉及罗塞塔,你做错了,没有必要这样做。 所有相关的东西(实际上只是 JVM,其他一切都在此之上运行)都是原生可用的。

不幸的是,rzwitserloot 的回答所指出的 Eclipse Adoptium / Temurin 似乎从未有过适用于 MacOS aarch64 的 JDK8,或者已将其删除。 他们有 JDK11 及更高版本,但这不是这个问题的意义所在。

最终,我发现 Azul 提供了为 MacOS ARM64(Apple Silicon)编译的 OpenJDK 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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM