我有一個由Eclipse生成的.jar,我無法在其他計算機上運行(使用Windows XP)。出現「無法找到主類,程序將退出」消息。這臺電腦運行良好,由Netbeans生成另一個.jar,所以它不是JRE的問題,我想。我更新了JRE,但它沒有任何改變。問題是什麼?「找不到主類」錯誤
更新:我忘了提及,我做了一個可運行jar文件。在另外兩臺電腦上它工作正常(贏得7和XP),但在那個特定的一個沒有。
更新2:這是一個Swing應用程序,所以JAR通過雙擊運行。
我有一個由Eclipse生成的.jar,我無法在其他計算機上運行(使用Windows XP)。出現「無法找到主類,程序將退出」消息。這臺電腦運行良好,由Netbeans生成另一個.jar,所以它不是JRE的問題,我想。我更新了JRE,但它沒有任何改變。問題是什麼?「找不到主類」錯誤
更新:我忘了提及,我做了一個可運行jar文件。在另外兩臺電腦上它工作正常(贏得7和XP),但在那個特定的一個沒有。
更新2:這是一個Swing應用程序,所以JAR通過雙擊運行。
檢查的內容。 Main-Class: foo.Bar
行必須對應於jar文件中的/foo/Bar.class項,並且foo.Bar.java
必須包含適當的main-method。同樣也需要複製Class-Path:
行中的所有jar參考。
使用「jar tvf my.jar」查看佈局。
但即使類路徑出現問題,它如何能在其他計算機上正常運行?這裏是我的清單(一個類的非常簡單的應用程序在包主要嘗試)Manifest-Version:1.0 Class-Path:。 Main-Class:main.Try – user1091733 2012-04-15 20:25:35
您需要複製Class-Path:行中引用的任何jar。 – 2012-04-15 20:55:20
但正如您所看到的,ClassPath中沒有額外的JAR(只有一個點)。應用程序非常簡單 - 一個類從一個JButton繼承JFrame,不需要額外的代碼。 – user1091733 2012-04-15 21:20:36
你必須把罐子在classpath中,像這樣:清單的
java -classpath "C:\somepath\myapp.jar" mypackage.MyClass
正如我寫的那樣,該計算機沒有運行jar的問題,但由Netbeans生成,所以我想這個問題與classpath沒有關聯。 – user1091733 2012-04-15 19:15:46
@ user1091733但是類路徑並不是特定於計算機的。它特定於每一次執行java。也許這個問題不在類路徑中,但如果你想讓我們解決你的問題,我們不能接受你的話。 – 2012-04-15 19:45:03
你想要運行一個類的'main'方法嗎? – Bohemian 2012-04-15 19:04:37
是的。我有一個主要方法的JFrame。 – user1091733 2012-04-15 19:10:48
你是對的 - 我沒有時間閱讀關於與stackoverflow功能相關的所有東西,我認爲點擊「這個答案很有用」就是這樣做的。對未來的好建議:) – user1091733 2012-04-15 19:26:40