2014-01-26 33 views
2

我用Java完成了一個遊戲並將它發送給了朋友。如何找出我的Java程序的最低JRE要求

在我的電腦啓動程序工作得很好。

但他得到這個錯誤:

"Could not find the main class: Main. program will exit" 

我的JRE版本是最新的一個。他的JRE版本是1.6。

他更新了他的JRE,問題解決了。

這對我有點擔心,因爲據我所知,1.6並不是JRE的一個非常舊的版本。這不是最近的,但不是那麼古老。

這很令人擔憂,因爲我打算將我的遊戲發送給很多朋友,並試圖將其發佈到互聯網上。

很多人沒有最新的JRE。而且他們大多是非程序員,所以我不能期望他們在下載我的遊戲時更新到最新版本的Java。他們可能不知道Java是什麼,即使他們在計算機上得到了它,並在接收到錯誤時,他們會放棄遊戲。

如果我的遊戲不適用於顯着舊的JRE,那將是合理的。這是使用Java的本質的一部分。但是相對更新的JRE 1.6不適用於我的遊戲,這令人擔憂。

請注意:我的遊戲沒有實現任何「特殊」功能。 Swing和KeyBindings是我可以在我的遊戲中想到的Java中的'最新'新增內容)

總之,我想知道我的遊戲在大多數試圖運行的計算機上都能正常工作。知道它不適用於相對較新的JRE,令人擔憂。

所以我有兩個問題:

  1. 這是正常的,對於一個Java程序,以有 的JRE version這樣"high" **的要求呢?做很多Java遊戲需要至少版本1.6 的JRE?這是常見的嗎?
  2. 如何才能找到我的 程序的最低JRE版本要求?有沒有一種有條不紊的方式來做到這一點,或者我只需要通過我遊戲中使用的所有庫來找出 哪些是 JRE的每個版本?
+0

嘗試與其他JRE的低於1.6 –

+1

首先運行它,最重要的是,你必須建立自己的開發環境,以用最小的JDK你有興趣這對於源代碼級別和生成的.class文件版本都是如此。 –

+0

Java 6已經8歲了,幾乎一年前就已經結束了生命。考慮到Java 6在Java開發人員中佔有很大的比例,所以認爲Java 6是「相對較新的」。 –

回答

1

事實上,您的朋友可能沒有正確安裝和配置JRE。至少在這方面有例外。

一般情況下,如果我們放下你的朋友遇到的問題並嘗試回答你的直接問題 - 我相信最好的方式是檢查你的程序,試着用jre 1.5,jre 1.6和1.7運行 當然,一般情況下,您應該使用與計劃支持的最舊版本的JRE相對應的Java編譯器編譯您的遊戲。您可以從Oracle網站下載所有這些JRE/JDK

請記住,如果您在計算機上編譯JDK 1.7,而不是以後在JRE 6上運行。 相反的方向應該工作,因爲Java是向後兼容的。無論如何,你最好還是檢查一下。

如果您將程序作爲applet發佈,但我相信這是您能做的最好的選擇,這裏沒有銀彈解決方案。

如果您將遊戲作爲「獨立應用程序」分發,您可能需要考慮「將JRE與安裝包一起打包,在這種情況下,遊戲將包含一個JRE和一個配置所有內容並運行節目以「捆綁」 JRE。

希望這有助於。

+0

「請記住,如果您使用JDK 1.7在您的PC上進行編譯,那麼稍後它將無法在JRE 6上運行。」這是不正確的,你可以用目標開關設置產生的字節碼版本。 – Kayaman

+0

OP的錯誤輸出清楚地表明'java'運行時已經啓動並且未能找到Main類。 –

+0

感謝您的幫助。讓我看看我是否理解你所說的一切:1-如果我的計算機上安裝了JDK 1.7,而編程我的應用程序,則比通常情況下它不能運行在比JRE 7更早的JRE上。如果我想要我的應用程序能夠在JRE 6上運行,而不需要使用JDK 1.6進行編程。它是否正確? 2-可以選擇「將JRE與遊戲打包」。在這種情況下,如果遊戲運行並且JRE太舊,則計算機將更新JRE。它是否正確? 如果所有這些都是正確的,那麼比我提出一些問題。謝謝 – user3150201

相關問題