尝试在命令提示符下运行.jar文件

时间:2012-03-22 12:26:07

标签: java jar command-prompt

我正在尝试使用命令提示符(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,我也会收到错误。

为什么?

此致

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

语法: java -jar fileName.jar

实施例: java -jar myfile.jar