簡體   English   中英

關於 OpenJDK 11 和 OpenJFX 11(和 Proguard)的遷移問題

[英]Migration issues concerning OpenJDK 11 & OpenJFX 11 (& Proguard)

我們目前正在將 Java 應用程序從 Oracle JDK 8(由 JNLP 交付的應用程序代碼)遷移到 OpenJDK 11(作為可運行的應用程序代碼與 Java 運行時一起交付)。 盡管我們在測試環境中或多或少地找到了一個可行的解決方案,但我們仍然存在以下問題:

  1. 我們的應用程序需要 JavaFX,我們想使用 jlink 進行構建。 是否建議使用https://gluonhq.com/products/javafx上提供的 OpenJFX jmods 來使用 OpenJDK 構建適當的 jlink 圖像,或者還有其他選擇嗎?

  2. OpenJFX jmods 似乎目前在 gluonhq 上的版本 11(為 JDK 11 編譯)中正式提供,而 Proguard 混淆適用於為 JDK 編譯的代碼,直到版本 10(參見https://sourceforge.net/p/proguard/feature -請求/188/ )。 不確定 Proguard 何時也支持版本 11。 我們應該等到它發生,還是我們有什么選擇? 下載和構建針對版本 10 的 OpenJFX 源是否是一個不錯的選擇(我不知道這是否可以開箱即用),或者甚至保留 Oracle 10 JDK 二進制文件和/或其 javafx jmod 文件作為只要 Proguard 不理解 OpenJDK 11 代碼?

  3. 我們正在進一步尋找一種工具來為 Windows 和 MacOS 創建用戶友好的可運行文件(例如,無需修改注冊表的自解壓可執行文件)。 javapackager 現在似乎不可用(計划用於 OpenJDK 12 的http://openjdk.java.net/jeps/343 )並且既不支持交叉編譯也不支持自動更新機制。 因此,我們正在尋找一種工具,它可以 a) 自動更新(在啟動時動態加載應用程序代碼或新的 jlink 圖像)和 b) 為 Windows 和 MacOS 構建可運行文件。 有沒有什么好的工具支持類似於 Oracle JNLP 啟動器的自動更新機制,可以在生產環境中使用?

  4. 對於 JNLP,我們應用代碼簽名。 是否仍然推薦並可以簽署 a) 我們位於 jlink 圖像中的應用程序代碼和 b) 動態加載的應用程序代碼,兩者都使用 JDK11+ 構建?

謝謝你的幫助,彼得。

對於您的第三個問題,有Open Web Start解決方案,它使您能夠使用最新的 Java 版本運行 JNLP 文件。 它是 Java Web Start 技術的開源重新實現。 此替換提供了 Java Web Start 和 JNLP 標准最常用的功能,以便您可以繼續使用基於 Java Web Start 和 JNLP 的應用程序,而無需進行任何更改。

關於你的第四個問題,你可以使用Jarsigner maven插件,只要你提供一個私鑰和jar的簽名路徑就可以了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM