簡體   English   中英

Java應用程序停止,沒有任何錯誤消息或異常

[英]Java application stops without any error message or exception

我正在開發一個Java應用程序,該應用程序可以在Windows和Linux的數百台計算機上正常運行(使用最新的Oracle JRE)。 但是,在一台Windows 7 64位計算機上,該應用程序將無法運行。

有趣的事實:如果通過java -jar MyApp.jar從命令行啟動,則應用程序“只是失敗”並返回到Shell,根本沒有任何消息。

為了找到問題,我將整個內容包裝在main()如下所示:

public static void main(String [] args)
{
    try
    {
        // Init. Swing GUI, run application ...
    }
    catch(Throwable t)
    {
        t.printStackTrace();
        System.exit(1);
    }
}

不幸的是,即使有了try-catch塊,我仍然在命令行上沒有收到任何消息。

您能為我推薦其他方法來找出問題所在嗎?

如果可能,請在該計算機上啟用調試方法。 除此以外。 您可以將一些調試行寫入jar外部的日志文件中。 這樣,您將知道JVM是否調用main方法。 如果您的jar依賴於Windows 7 64位計算機上的特定jre,也請嘗試檢查該計算機上的Java版本。

您的應用程序可能無例外地運行。 但是,它根本無法按預期呈現。

一種簡單的診斷應提供更多信息。 在命令行中添加“ -verbose”開關。 這將打印在應用程序調用期間加載的所有類。

$> java -verbose -jar MyApp.jar

應該顯示一些其他信息。 注意! 確保像我上面演示的那樣,將-verbose添加為第一個參數。

希望這可以幫助您開始。

另外,您可以將System.out.println(“ SOME MESSAGE”)添加為try塊的第一行。 這可能也有幫助。

僅作記錄:我們需要安裝64位版本的JRE,現在該應用程序又像魅力一樣工作了:)

暫無
暫無

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

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