Java 创建.jar文件

Java 创建.jar文件,java,user-interface,jar,creation,Java,User Interface,Jar,Creation,我正在创建一个具有GUI的.jar文件: jar cmf mainClass patcherFull.jar pack 上面的creation命令没有错误,但是运行.jar文件在Windows中没有任何作用,而使用java本身运行它会输出: java -jar patcherFull.jar java.lang.NoClassDefFoundError: patcherFull Caused by: java.lang.ClassNotFoundException: patcherFull

我正在创建一个具有GUI的.jar文件:

jar cmf mainClass patcherFull.jar pack
上面的creation命令没有错误,但是运行.jar文件在Windows中没有任何作用,而使用java本身运行它会输出:

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();
          }
        });
    }
}
我的代码结构中是否有错误?作为参考,“pack”文件夹包含3个生成的.class文件、2个依赖项(一个jpg和一个exe),然后是“patcherFull.java”文件

下面是有关.jar中内容的更多信息:

$ 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

主类应该是
pack.patcherFull
,而不是
patcherFull
,以符合jar文件中的结构


还请注意,约定要求它应该是
pack.PatcherFull

,所以您的意思是将我的清单文件更改为“Main Class:pack.PatcherFull”?当我这样做的时候,我得到了一个错误。当你创建jar时,站在
pack
里面
$ 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