[英]Eclipse aarch64 and OpenJDK (ARM)
我正在試用 Eclipse 4.20 版本,可作為Mac OSX(Arm64/AArch64 的 64 位版本)在 Apple Silicon 上的 macOS 11 下運行。 這個版本似乎沒有附帶 jdk,所以我假設我需要自己處理。 我使用 SDKman 安裝了來自 Bellsoft 的 16.0.1-librca(Rosetta2 模式為 false)。
我像這樣編輯了 Eclipse 的 info.plist 文件:
<key>Eclipse</key>
<array>
<string>-vm</string>
<string>~/.sdkman/candidates/java/16.0.1-librca/bin/java</string>
…(Other stuff here)
</array>
和 Eclipse 確實啟動,但立即崩潰。 在此 macOS 聲稱我無權啟動該應用程序后不久。 結果與 Zulu AArch64 相同。
我通常得到
“異常類型:EXC_BAD_ACCESS (SIGABRT) 異常代碼:KERN_INVALID_ADDRESS 在 0x000000000000000c”
和
“應用程序特定信息:abort() 調用”
在 libjvm.dylib 中。
這取決於所使用的設置有一些變化。
假設這些版本應該在 Apple Silicon 上的 macOS 11 中運行,那么這似乎應該可以運行。 還是我在這里誤解了 aarch64 的含義? 這些可能只是 jdk 開發人員的版本嗎? 我查看了 Eclipse 的“目標環境”,並不確定此處標記為“Mac...for Arm64/AArch64”的版本還有哪些其他用途。
libexec 沒有看到 SDKman 安裝的版本。 當我在終端中運行java --version
時,它確實顯示“openjdk 16.0.1 2021-04-20”而不是我的主要 Oracle JDK。
關於如何設置的任何建議?
我還沒有調查實際原因,但是在我安裝了“OpenJDK 64-Bit Server VM Zulu (build 11.0.11+9-LT)”之后,我開始考慮 覆蓋 eclipse.ini以避免 macOS 阻止我從啟動一個修改過的應用程序開始(反復出現的問題。注意我沒有嘗試覆蓋)我從命令行使用 open 命令啟動了 Eclipse 並且 Eclipse 立即使用
-vm
/Users/[user name]/.sdkman/candidates/java/11.0.11-zulu/zulu-11.jdk/Contents/Home/bin/`
至少這會啟動 Eclipse。 雙擊應用程序呈現與以前相同的結果。
一種理論是,由於 open 命令在終端中運行並且 java --version 驗證 sdkman 在那里設置的 zulu jdk,這就是原因。 但是 JAVA_HOME 為空,/usr/libexec/java_home -V 命令僅列出 Oracle JDK。
謝謝@greg-449 和@howlger。 如果沒有您的有用建議,我想我不會找到這個。
為了不必為了啟動Eclipse而在終端中,我制作了這個打開終端的小Applescript(僅在沒有涉及的情況下執行命令不會提供正確的JVM):
on run {input, parameters}
tell application "Terminal"
activate
do script "open /Applications/Eclipse.app"
delay 1
close front window
end tell
將其另存為一個應用程序,然后從這個而不是 Eclipse 開始。
如果我能找出終端中正確的 JVM 是如何使用 open 命令提供給 Eclipse 的,也許這可以用於修改 Eclipse 的啟動方式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.