2012-09-05 112 views
4

我剛剛在64位Windows 7筆記本電腦上使用Eclipse開發並導出了一個Runnable JAR。我剛剛在其他電腦上嘗試過,當您雙擊它時,它可以在另一臺Windows 7 x64筆記本電腦上運行。但是,在我使用32位筆記本電腦時,只有在使用java -jar "C:\Name of Jar.jar"從命令行運行它時纔會啓動,但不會產生任何錯誤。在64位Windows上編譯的JAR不會在32位上運行

此外,雖然,如果我使用命令javaw "C:\Name Of Jar.jar"我收到一條錯誤消息,說:「無法找到主類C:\ Jar.jar的名稱。程序將退出。」

有人知道爲什麼,以及如何解決它?在此先感謝

+0

無論位數是多少,Java都將運行相同。試試'java -jar thejar.jar package.MainClass' –

+0

@PeterLawrey哦,好的,我沒有意識到。那麼提供兩個不同的JVM有什麼意義呢?無論如何,我沒有在尋找命令行解決方案 - 我需要能夠使JAR可以雙擊。不管怎樣,謝謝你! – Andy

+0

64位版本使用更多寄存器並可使用大量內存。在32位操作系統上需要32位版本。 –

回答

2

您是否使用JDK 1.7構建它? 也許你還沒有在你試圖運行它的電腦上安裝JRE7。 這是我遇到過的一個奇怪的錯誤。

+0

啊哈 - 我現在覺得很愚蠢。我沒有意識到32位筆記本電腦沒有JRE 7;我甚至沒有意識到我的筆記本電腦上沒有JRE 6。我在我的筆記本電腦上安裝了JRE 6(32位),並再次導出可執行JAR,現在它可以在我所有的筆記本電腦上完美工作。這對我來說似乎也快一點。 – Andy

+0

當我發現問題時,這只是我的反應。 這個bug隨Oracle發佈了1.7;) – Zhedar

+0

:)啊。我確實認爲,即使應用程序是使用1.7編譯的,只要它只使用1.6中提供的方法,它應該只使用1.6。 1.6和1.5等等。我錯了嗎,或者這是1.7中的錯誤? – Andy

1

在您的32位機器上,右鍵單擊 - >在JAR上打開方式。如果列出了JRE,則可以使用它打開,並使其成爲運行的默認程序。

我不認爲它與32位或64位操作系統有關。

+1

你是對的。我不認爲它在64位系統上編譯/導出的事實有所不同。不幸的是,你的解決方案沒有幫助 - 我的問題是因爲我測試的32位沒有JRE 7。我已經修復了所有的東西,但無論如何感謝 – Andy

0

嘗試javaw -jar jar_name。我認爲這可能會訣竅。

+0

是的,這使得它沒有錯誤地正常運行,但正如我之前所說的,我並沒有真正在尋找命令行解決方案 - 我需要修復我的可執行JAR。我已經解決了它,但無論如何謝謝你。 – Andy

相關問題