2012-03-19 231 views
0

MANIFEST.MF無法運行jar文件

Manifest-Version: 1.0 
Created-By: 1.7.0_01 (Oracle Corporation) 
Main-Class: useDisplay 

注意:有主類

display.java

public class display 
{ 
    public void displayText() 
    { 
     System.out.println ("In displayText"); 
    } 
} 

useDisplay後一個空行.java

public class useDisplay 
{ 
    public static void main (String args[]) 
    { 
     System.out.println ("In displayText"); 
    } 
} 

我跑以下命令:

javac *java 
jar cf my1.jar MANIFEST.MF *class 
java -jar my1.jar 

我得到了以下錯誤:

Exception in thread "main" java.lang.NullPointerException at 
sun.launcher.LauncherHelper.getMainClassFromJar(LauncherHelper.java:399) 

at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:463) 

這應該是一個很簡單的例子。該程序在沒有jar文件的情況下工作。我不知道它在抱怨什麼。

+0

你有一個源代碼包MANIFEST.MF文件? – hovanessyan 2012-03-19 16:59:31

+0

javac *類做什麼?這是Java 7中的新東西嗎?這是一種新的方式來編譯目錄中的所有java源文件嗎?我認爲這不同於使用javac display.java和javac useDisplay.java – 2012-03-19 17:09:21

+0

對不起,錯字java * java。我已經修復了描述。 – tadpole 2012-03-19 17:11:29

回答

0

我相信你有一個-m添加到jar命令來使用您指定

jar cfm my1.jar MANIFEST.MF *class 
+0

我剛試過這個,它完美的作品! – 2012-03-19 17:17:39

+1

哦,是的,就是這樣。我知道這很簡單。謝謝。 – tadpole 2012-03-19 17:19:15

+0

沒問題...很高興我可以幫助!!!! – 2012-03-19 17:20:57