我正在尝试使用命令提示符(Windows XP)运行jar文件,但是获取NoClassDefFoundError。
我将DateAndTime.class文件放在名为dateandtime的文件夹中,并在源文件中指出了一个名为dateandtime的包。
在文件夹外面,我有一个带有规范
的manifest.mf文件Main-Class:dateandtime.DateAndTime
我把它放在命令文件
中jar cmf manifest.mf myJarFile.jar dateandtime
这会在manifest.mf。
所在的文件夹中创建myJarFile.jar当我尝试运行这个jar文件时,我得到了NoClassDefFoundError
java -jar myJarFile.jar
如果我在没有指定包的情况下将所有类放在同一目录中,那么.jar文件运行正常,但是一旦我尝试指定包,即使创建了myJarFile.jar,我也会收到错误。
为什么?
此致
答案 0 :(得分:2)
如果你得到一个NoClassDefFoundError
,这意味着在你的课程编译期间出现的课程在执行期间不存在。这意味着您的JAR文件不包含您的类所需的所有依赖项以便运行。由于您的问题缺乏项目结构的详细信息,我只建议您重新访问应用程序的依赖关系树,并确定 所有 需要包含在JAR中的类。
答案 1 :(得分:0)
语法: java -jar fileName.jar
实施例: java -jar myfile.jar