2012-03-22 94 views
1

我想使用我的命令提示符(Windows XP)运行一个jar文件,但得到NoClassDefFoundError。试图在命令提示符下运行.jar文件

我在名为dateandtime的文件夹中有我的DateAndTime.class文件,并且还在源文件中指出了一个名为dateandtime的包。

我有规范MANIFEST.MF文件

主类的文件夹外:dateandtime.DateAndTime

我把这个命令文件

罐子CMF manifest.mf myJarFile.jar dateandtime

,这会在与manifest.mf相同的文件夹中创建myJarFile.jar。

当我尝试但是运行这个jar文件我得到NoClassDefFoundError的罐子myJarFile.jar中

如果我JAVE在同一个目录中的所有类没有包,那么指定

的java .jar文件运行正常,但只要我尝试指定一个包,即使创建了myJarFile.jar,我也会得到该错误。

这是为什么?

问候

+0

哪一类请问'NoClassDefFoundError'表示没有找到?发布'jar tf myJarFile.jar'的输出,它将显示你jar的内容。 – mikej 2012-03-22 12:44:24

回答

2

如果你得到一个NoClassDefFoundError这意味着一类是存在你的类的编译过程中是在执行过程中不存在的。这意味着您的JAR文件不包含您的类为了运行所需的所有依赖项。由于您的问题缺乏项目结构的详细信息,因此我只能建议您重新访问应用程序的依赖关系树,并确定需要包含在JAR中的类。

+0

我很抱歉。我在包声明中犯了一个错误。 – Arianule 2012-03-22 15:55:35

0

语法: Java的罐子fileName.jar

例子: Java的罐子myfile.jar

相关问题