做了两个Jar包,core.jar和run.jar,core.jar中有一个类cn.edu.cjlu.test.MainFrame,run.jar中有一个类cn.edu.cjlu.Main(主类),在Main类中import cn.edu.cjlu.test.MainFrame并创建它的对象。core.jar和run.jar
放在同一目录下,在当前目录下运行java -cp core.jar -jar run.jar系统提示在main线程中出现NoClassDefFoundError,
没有cn.edu.cjlu.test.MainFrame类的定义!?不是明明已经指定Classpath了吗?我的Java环境是
Jdk1.6u13
我猜测是run.jar打包有问题,是不是你的META-INFO里面没有定义主类。如果没有定义主类的话,你这样运行一个jar文件,如果里面有无数个类都能直接运行,java不知道你要运行哪个类。 而一般我们打包jar时,并没有写这个配置,因为我们一般都不需要直接运行jar文件。你可以指定运行Main主类,试一下能不能运行。
如果不存在没有定义主类。那估计是cp的问题,试试用绝对路径或者./core.jar 。楼上说的指定依赖jar也可以