簡體   English   中英

獨立的Java程序

[英]Stand alone java program

Java程序的新功能,因此對noob問題表示歉意。 我已經編寫了一個在終端窗口中使用“ java myprog”命令運行的Java程序。 我想將此程序提供給朋友,但不確定該人至少需要什么才能運行該程序。 能否將代碼編譯為完全獨立於我的朋友可能有或沒有的任何Java安裝運行? 另一個人需要重新編譯代碼嗎?

選項1

您可以為他們提供編譯后的輸出.class文件。

他們需要與您用來編譯代碼的版本兼容的JRE版本(但開發人員不需要編譯的JDK版本)。 最簡單的方法就是匹配版本。 例如,如果您使用的是J2SE 7,則為您的朋友獲取JRE 7。

有了這個,您的朋友應該可以輸入java myprog並獲得與您相同的結果。 如果您希望您的朋友以與您相同的方式從命令行運行程序,那么這可能是最簡單的方法。

因此,如果在您的機器和朋友的機器上都鍵入:

java -version

...並且您獲得了相同的主要版本,那么您可能就在正確的舞台上。

選項2

如果您希望朋友可以雙擊某些東西,也可以創建一個可執行.jar文件,但是他們仍然需要安裝JRE版本,如果您不熟悉JRE,則創建可執行JAR可能會有些困難。語言。 他們需要一些學習和反復試驗的時間。 這絕對是比選項#1更復雜的方法。

選項3

有些編譯器會將Java程序轉換為本地代碼(Windows中為.exe文件),但是您需要知道朋友正在運行的操作系統,並確保要為朋友的操作系統進行編譯。

我幾年前聽說的這些工具的一個例子是Excelsior JET (盡管我不認可它為一種工具,只是說它們存在)。

這絕對是選項中最高級/最困難的選項,並且比選項#2包含更多的反復試驗,但是,如果您要談論的是帶有單個文件的非常簡單的程序,那么它可能非常簡單。

當然,我上次檢查時Excelsior JET不是免費的。

我已經就這個主題寫了整篇文章:

將Java轉換為EXE-為什么,何時,何時,以及如何

您要創建一個可執行的.jar文件。 如果您的朋友安裝了Java,則只需雙擊該文件即可運行該程序。

Java程序通常被編譯為Java字節碼 -而不是本機可執行文件。 編譯后,生成的類文件將在足夠新的任何JVM上執行,而不管基礎硬件平台或操作系統如何。 但是,為了擁有JVM,您的朋友通常需要安裝適當的Java運行時環境(JRE)。

另外,還有一些方法可以將程序與JRE一起分發,但是我認為這種方法並不簡單。 如果您願意的話,有些程序(例如launch4j )可以使該過程有些自動化。

如果朋友不在放置myprog.class的目錄中,則上面給出的建議給出.class文件並使用java myprog可能不起作用,因為可能需要指定類路徑。 因此,朋友可能必須使用java -cp path_to_myprog myprog

暫無
暫無

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

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