私は6つのクラスから実行可能なjarファイルを作成しました。
Main:mainメソッドが含まれ、マニフェストで指定されています(新しい行を含めました)
Main$1とMain$2:メインクラスにある2つの匿名の内部クラス。(Main $ 2がmainメソッドにありますが、それは実際には重要ではないと思います。)
形
Form $ 1:フォームの匿名内部クラス
WrapLayout
jarファイルを作成するときにこれらの内部クラスを指定しますが、その内部を見ると(Macを使用しています)、内部クラスはjarにありません。したがって、実行すると、次のようになります。
Exception in thread "main" java.lang.NoClassDefFoundError: Main$2
at Main.main(Main.java:64)
Caused by: java.lang.ClassNotFoundException: Main$2
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 1 more
何が悪いのかわかりません。誰か助けてもらえますか?
編集:私はそれを理解しました!結局のところ、コマンドがドル記号を認識するためには、ドル記号の前にエスケープ文字(\)が必要です。