
為了遵守 IT 政策,我(我認為)從 OSX 中刪除了所有舊版本的 Java JRE 和 JDK。java -version
返回 1.7.0_51,系統設定中的 Java 控制面板也報告版本 1.7.0_51。
然而,當我打開應用程式 DeltaWalker 時,它會發送一個 HTTP 請求來檢查新版本並包含標頭User-Agent: Java/1.7.0_40
,這當然會觸發我們組織的漏洞檢測系統。
- 為什麼 DeltaWalker 不使用最新版本?
- 我如何找出像這樣的應用程式或 Eclipse/PhpStorm 正在使用什麼 JRE?
- 我如何找到這個舊的 JRE,刪除它會破壞這些應用程式嗎?
答案1
正如 @Keltari 所提到的,許多應用程式將自己的 Java 版本與應用程式捆綁在一起,因為這樣可以使它們免於依賴您安裝的 Java,而它們對此一無所知。
您可以在 Finder 中打開 DeltaWalker 應用程式來查看這裡發生的情況。 (我用 DeltaWalker 的新副本做到了這一點傷害,但你的應該是一樣的)。找到 DeltaWalker“應用程式”,按住 Ctrl 鍵單擊或右鍵單擊它,然後選擇“顯示包內容”。導航至Contents\PlugIns\jre\Contents\Home\
檢視應用程式正在使用的 Java 版本。您可以在終端機視窗中轉到此路徑,進入該bin
資料夾,然後運行java -version
以確認它與您在使用者代理程式中看到的版本相同。 (我自己無法檢查這一點,因為我實際上是在 Windows 電腦上使用 7-zip 來分解應用程式。)
理論上可以用更新的 Java 版本替換這個 Java 版本,但考慮到應用程式元件的緊密聯繫以及 DeltaWalker 捆綁了許多其他依賴項(幫助程式可執行檔和 JAR 外掛程式),我對此猶豫不決。可能有問題。
如果您沒有使用該應用程式的最新版本,則應盡可能更新。如果您不能,或者最新版本仍然太舊,您應該聯繫德爾托比亞支持。
答案2
我不了解你們的應用程式或 Mac,但我確信它與 Windows 類似。
某些應用程式將在安裝中包含自己的 Java 版本。通常,這樣做是因為他們尚未使用較新版本的 Java 進行測試,並且無法保證他們的應用程式可在較新版本上運行。或者,他們的應用程式可能與較新版本的 Java 不相容。
檢查啟動您的應用程式的任何內容,看看它是否專門啟動了舊版本。您可以嘗試刪除該啟動器或對其進行編輯,以便它使用最新版本,但這可能會破壞應用程式。
我會檢查您的應用程式支援論壇以獲取更多資訊。