2012-10-09 63 views
1

我使用Eclipse運行我的應用程序。Eclipse運行java應用程序和jar文件

=>所有這一次,我一直在作爲Java應用程序(使用作爲Java應用程序選項運行)運行,它的工作原理。我的程序執行20分鐘,並打印一些數據。

現在我試着創建一個Runnable jar。我能夠得到jar文件並執行,但它在1分鐘後退出。沒有來自SOP的打印。我在main之後立即保存了一個,並且也沒有打印。如何調試呢?

我現在收到此錯誤:

JAR export finished with warnings. See details for additional information. 
    Exported with compile warnings:input.java 
    Jar export finished with problems. See details for additional information. 
    Could not find main method from given launch configuration. 

但在input.java文件public static void main(String[] args)。我不知道爲什麼當我嘗試從命令提示符運行時它會抱怨,並且它給出 no main manifest attribute。我沒有創建任何具有該名稱的文件。這裏出了什麼問題?

+0

尚不清楚。你能解釋一些代碼片段嗎? –

+0

我有一個包含2個文件的程序。 file1和file2-具有java main並調用file1。我能夠打印所有數據。但是當我做了jar文件時,我無法打印任何東西。事實上沒有打印線,我已經完全在主要..所以看起來我的主要immedite線沒有執行 –

+1

你是如何執行你的.jar? – User404

回答

2

您提到的問題是因爲編譯器無法在jar中找到主類。 爲了解決這個問題,我們使用了一個MANIFEST文件。

清單文件是包含打包在JAR文件信息的特殊文件

參考here的詳細信息,艙單

解決您的問題。我們需要定義一個MANIFEST文件並在其中定義主類。

創建MANIFEST.MF

文件爲您的罐子,並指定具有的主要方法 使用格式類

Main-Class: Mypackage.yourPackhage.OurClass 

UPDATE

當你正在創建的JAR,請按照Define Jar Manifest

在您的罐子中包含清單文件

UPDATE 2

結構應該是這樣

YourJAR 
    META-INF\MANIFEST.MF 
    CLASS1 
    CLASS2 
+0

謝謝穆庫爾。如果我沒有螞蟻包名稱怎麼辦?我有2個文件,1個類是主類,另一個類是主類使用。所以我怎麼知道內容。只是主類很好?還有我應該創建的文件結構? –

+0

我看到這個錯誤:JAR導出完成警告。詳情請參閱附加信息。 導出編譯警告:sample.java Jar導出已完成並出現問題。詳情請參閱附加信息。 無法從給定的啓動配置中找到主要方法。 –

+0

如果你沒有任何包名,那麼只需輸入類名即可。 你應該創建一個META-INF文件夾內的MAINFIEST.MF文件 請參考更新2的示例結構 –

0

清單是具有「主類」指令一個單行文本文件。你需要在記事本或任何地方創建這個文件(稱之爲manifest.txt)。

在該文件中你想要的行: 主類:文件2

確保有在該行的最後一個硬回車。

然後用罐子這樣的: jar cvfm sample.jar manifest.txt *.class

相關問題