小编use*_*892的帖子

内部类未包含在jar文件中

我hava在六个类中创建了一个可运行的jar文件:

Main:包含main方法,并在manifest中指定(我包括一个新行)

Main $ 1和Main $ 2:2主要类中的匿名内部类.(主要方法是2美元,但我认为这不重要.)

形成

Form $ 1:Form中的匿名内部类

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
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚出了什么问题.有人可以帮忙吗?

编辑:我想通了!事实证明,在美元符号前面需要一个转义字符(\),以便命令识别它们.

java anonymous jar class

4
推荐指数
1
解决办法
2835
查看次数

标签 统计

anonymous ×1

class ×1

jar ×1

java ×1