我有一個可以使用java -jar app.jar運行的可執行 jar ,但SDK 為 326MB。這是很多。
jlink 可以創建JRE,但我不能使用jlink,因為我有一個非模塊化應用程式。
你能告訴我如何創建一個JRE嗎?
uj5u.com熱心網友回復:
jlink可以用來為非模塊化應用程式創建一個“JRE”/運行時映像就好了。在這種情況下,它只是不能自動派生應該進入運行時映像的模塊。它們必須手動指定。
例如,如果我有一個簡單的app.jar:
$ java -jar app.jar
Hello World!
然后創建一個運行時映像jlink,僅包含java.base模塊:
jlink --output runtime --add-modules java.base --strip-debug --no-header-files --no-man-pages
java然后我可以在運行時映像中運行帶有可執行檔案的 jar :
$ ./runtime/bin/java -jar app.jar
Hello World!
運行時映像只有約 35 MB(盡管這可能因平臺而異)。
jdeps可用于了解應該使用哪些模塊來創建運行時映像:
$ jdeps --print-module-deps add.jar
java.base
--add-modules這將列印一個以逗號分隔的模塊串列,這些模塊可以直接作為引數傳遞給jlink.
uj5u.com熱心網友回復:
您可以嘗試將此作為來源:
https://javaalmanac.io/
您可以在其中找到僅下載 JRE 而不是 JDK 的鏈接。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/510014.html
標籤:爪哇行家可执行jar链接
