2011-08-05 139 views
0

我必須爲我正在學習的課程編寫一個程序,並且他給了我們一個可執行的jar來運行並與我的結果進行比較。可執行jar無法運行? (沒有權限訪問代碼)

但是,即使在閱讀了其他相關主題後,我仍然遇到了麻煩。除了那個我無法提取的罐子,我絕對沒有得到任何東西。

我只是想以某種方式運行它 - 不管是在shell還是在Eclipse上。

== 對不起,缺少具體細節: 它說我缺少Main-Class清單屬性。我知道什麼時候發生這種情況,你應該進入清單並從四處走,我注意到清單沒有包含該屬性。我添加了它,但是每當我嘗試使用jar uvf將其添加回來時,它都會忽略它。 「罐子UVF EditDistance.jar META-INF/ 忽略進入META-INF/ 忽略進入META-INF/MANIFEST.MF」

幫助嗎? :/

+0

您是否嘗試過「Java的罐子executable.jar」?你有什麼困難? – Kal

+0

是的,對不起,我只是添加了一些細節! – Otter

回答

0

這是可能的,你沒有得到一個可執行的JAR。你可能不得不使用jtahlborn的解決方案。如果你想不出用什麼com.example.MainClass,你可以嘗試

jar -tf EditDistance.jar 

這將使你在罐子中的所有文件的列表。希望有人被稱爲EditDistance.class或Main.class(帶有一些前綴,例如:「com/example/EditDistance.class」)。

如果你看到類似的東西,只是翻譯斜線點,降的.class後綴,它插入到jtahlborn的解決方案:

java -cp EditDistance.jar com.example.EditDistance 
+0

謝謝這正是我需要的 – Otter

2

你試過:

java -jar filename.jar 

你不說你已經嘗試過什麼,或者你有什麼錯誤...

+0

對不起,我只是增加了一些細節 – Otter

1

如果清單不標明「主」類,但你知道類是什麼,然後就去做:

java -cp filename.jar com.example.MainClass 

如果需要,您可以使用任何程序特定的參數。如果你不知道主要課程,那麼你需要問問給你罐子的人。

0

前段時間我有同樣的問題。閱讀page,在「使用JAR工具設置入口點」段落中。

嘗試執行此命令:jar cfe app.jar MyApp MyApp.classe選項指定應用程序入口點。

其中:

  • app.jar是你的罐子

  • MyApp的名稱爲切入點

  • MyApp.class是你的類的名稱。

最後,鍵入以下命令來執行的jar:java -jar app.jar