2011-12-22 21 views
0

私はGUIを持っている.jarファイルを作成していますを作成しますそして、Java自体の出力とそれを実行している:は.jarファイル

java -jar patcherFull.jar 
java.lang.NoClassDefFoundError: patcherFull 
Caused by: java.lang.ClassNotFoundException: patcherFull 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
Could not find the main class: patcherFull. Program will exit. 
Exception in thread "main" 

これは私のコードの構造です:

public class patcherFull extends JPanel implements ActionListener, PropertyChangeListener 
{ 

    private JProgressBar progressBar; 
    private JButton startButton, closeButton; 
    private JLabel status; 
    private Task task; 

    class Task extends SwingWorker<Void, Void> { 
     @Override 
     public Void doInBackground() 
     { 
     } 

     @Override 
     public void done() 
     { 
     } 
    } 

    public patcherFull() 
    { 
    } 

    public void actionPerformed(ActionEvent evt) 
    { 
    } 

    public void propertyChange(PropertyChangeEvent evt) 
    { 
    } 

    private static void createAndShowGUI() 
    { 
    } 

    public static void main(String[] args) 
    { 
     javax.swing.SwingUtilities.invokeLater(new Runnable() 
     { 
      public void run() 
      { 
       createAndShowGUI(); 
      } 
     }); 
    } 
} 

これは私のmainClassマニフェストFILです(最後に新しい行を持つ)E:

Main-Class: patcherFull 

私のコード構造内何か問題はありますか? FYIのように、 "pack"フォルダには3つの.classファイル、2つの依存ファイル(jpgとexe)、そして "patcherFull.java"ファイルがあります。

$ jar tf patcherFull.jar 
META-INF/ 
META-INF/MANIFEST.MF 
pack/ 
pack/banner.jpg 
pack/patcherFull$1.class 
pack/patcherFull$Task.class 
pack/patcherFull.class 
pack/patcherFull.java 
pack/wget.exe 

答えて

2

あなたの主なクラスがjarファイルにあなたの構造に適合するpack.patcherFull、ないpatcherFull、次のようになります。

は、ここでの.jar内で何にいくつかの詳細情報です。

はまた大会が、それはpack.PatcherFullなければならないことを規定していることに注意してください。

+0

私のマニフェストファイルを "Main-Class:pack.patcherFull"に変更することを意味していますか?私はそれをするときにエラーが発生します。 jarを作成するときに – carget

+0

が 'pack'の中にある –