簡體   English   中英

在Linux環境中在沒有JVM的情況下運行Java

[英]Run Java without JVM in Linux environment

我有一個轉換為可執行jar的Java程序。 是否可以在Java不可用的Linux機器上運行jar? 即一台沒有Java的機器。

在Java 8中,您可以為Windows / Linux / Mac創建所謂的“自包含程序包”,實際上是與JRE捆綁在一起的Java應用程序。

未來閱讀:

https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html

https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/packager.html

https://docs.oracle.com/javase/8/docs/technotes/tools/unix/javapackager.html

另外,可能值得一提的是提前(AOT)Java編譯器,例如Excelsior Jet: http : //www.excelsiorjet.com/

試試這個編譯器。 https://en.wikipedia.org/wiki/GNU_Compiler_for_Java

GNU Java編譯器(GCJ)是Java編程語言的免費編譯器,並且是GNU Compiler Collection的一部分。

如果您的應用程序未使用最新的Java語言標准,則可以使用gcj創建二進制文件。 但是請考慮一下gcj是一個相當老的產品,多年來沒有更新。 缺少對較新Java版本的支持,該項目頁面指出:

...已與GNU Classpath合並,並支持大多數1.4庫和1.5個附加庫。

由gcj創建的代碼可能比在Hotspot Jvm下運行的代碼要慢得多,並且在靜態編譯時會創建相當大的二進制文件。

另一個選擇是將Jre和jar捆綁到可執行文件中。 有許多程序可以執行此任務,launch4j( http://launch4j.sourceforge.net )是其中之一。

您也可以自己提供Java,因為它不需要安裝,並且可以與jar放在同一目錄中。 如果使用Oracle JRE,請檢查Eula是否允許以這種方式捆綁它。 如果沒有,您可以使用OpenJdk。

暫無
暫無

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

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