2011-05-26 20 views
0

我遇到了一個奇怪的情況,我掙扎着自己,試圖瞭解這是問題。生成jar文件的問題交換的Windows/Linux操作系統

我開發使用Swing和JDBC的Eclipse下的Java應用程序。 我導出了一個在Windows下使用Eclipse創建的可執行jar文件。

當我在Linux下運行導出的文件,一切工作正常,但有時會顯示JDialogs,不再被顯示在Linux操作系統(GUI和數據庫訪問)。 如果我再次生成jar,在Linux下(不修改源代碼中的任何內容),JDialogs再次開始工作。

什麼是這個原因? 看來問題與我的源代碼無關,所以我總是要爲每個不同的操作系統再生一個可執行的jar文件嗎? 同樣,如果它是與jar構建過程相關的問題,爲什麼唯一的問題會發生在JDialogs上?

我希望

在此先感謝所有

+0

你在Linux上使用的是什麼樣的JDK?我在Windows和Ubuntu上使用sun-jdk,因爲我在Ubuntu附帶的open-jdk中遇到了一些問題。 – 2011-05-26 15:20:12

+0

@zeropage:我在windows和linux上都使用sun-jdk-6 – Heisenbug 2011-05-26 15:21:46

+0

只是爲了檢查,看看eclipse實際上是否使用sun-jdk而不是另一個。 – 2011-05-26 15:23:16

回答

2

當然,你不必建立在每個平臺上予以明確。這個想法是做一次,到處跑。您是否在Windows和Linux計算機上使用相同版本的JDK/JRE?其他工具的版本,例如Eclipse,Ant?

+0

是的,我使用的是相同的jdk/jre版本。我目前不使用Ant。 – Heisenbug 2011-05-26 15:22:34

+0

我假設您在Windows和Linux Eclipse版本之間使用完全相同的項目設置和文件。要消除其他可能的差異,請嘗試在Eclipse下的「Java編譯器」項目屬性中使用「啓用項目特定設置」。 – karmakaze 2011-05-26 16:53:06

+1

請注意,Eclipse中使用的增量式編譯器與javac編譯器之間存在細微的差異。這可能有助於嘗試通過禁用「自動構建」來完成重建,然後執行「清理」和「構建項目」。 – karmakaze 2011-05-26 16:56:35

1

在Java中擺一些組件都有漏洞,都可能不是平臺無關。

也許是JDialog的這些錯誤之一。