“Java高级图像”;“平面图像”;找不到类

“Java高级图像”;“平面图像”;找不到类,java,jai,Java,Jai,首先,我要说我最近继承了一个使用Eclipse编写的Java应用程序。我不熟悉这种语言/IDE,但我对C和VisualStudio有很多经验。所以,我的问题可能是非常愚蠢的,但是我有一个基础,所以我不是一个全面的编程新手。 我使用原始开发人员提供的启动配置将此项目导出为可运行的JAR。我已经尝试过使用“将所需库提取到生成的JAR中”和“将所需库打包到生成的JAR中”。无论哪种方式,启动应用程序时都会出现以下错误: java.lang.NoClassDefFoundError: javax/med

首先,我要说我最近继承了一个使用Eclipse编写的Java应用程序。我不熟悉这种语言/IDE,但我对
C
VisualStudio
有很多经验。所以,我的问题可能是非常愚蠢的,但是我有一个基础,所以我不是一个全面的编程新手。 我使用原始开发人员提供的启动配置将此项目导出为可运行的JAR。我已经尝试过使用“将所需库提取到生成的JAR中”和“将所需库打包到生成的JAR中”。无论哪种方式,
启动应用程序时都会出现以下错误:

java.lang.NoClassDefFoundError: javax/media/jai/PlanarImage
我使用此命令启动应用程序,其中
appName.properties
是运行应用程序所需的属性文件:

java -jar appName.jar appName.properties
这在单独的堆栈跟踪中多次发生。我没有看到任何其他运行时错误或编译错误。我的JRE系统库是
jre1.5.0\u 05
。我通过从
jre5
目录下载
JAI-1_1_3-lib-windows-i586-jre.exe
安装了
JAI
。我的项目直到得到这个特定版本的java并将
JAI
jre安装到该版本的文件夹中后才编译,所以我相当确定我正确地组装了该部分

最后,这里是我的类路径:

C:\Program Files (x86)\Java\jre1.5.0_05\lib\ext\jai_codec.jar;C:\Program Files (x86)\Java\jre1.5.0_05\lib\ext\jai_core.jar;C:\Program Files (x86)\junit4.10\junit-4.10.jar;.

有什么明显的我做错了吗?是否有任何其他信息有助于找出我出现此错误的原因?

确保jar位于类路径中。您是从IDE运行还是从命令行运行?

尝试将jar扩展名更改为.zip并提取它,在其中查找PlanarImage.class。如果找不到它,则在构建过程中不会导出它。如果你真的找到了它,那么还有另一个类路径噱头。我找到了PlanarImage.class,但它来自一个实际上是从项目内部声明的接口。看起来原始开发人员创建了自己的PlanaImage接口。好的,它是否共享同一个包?如果是这样的话,那就改变你自己的课程package@MahdeTo不,它们不共享同一个包。那么您应该在其中找到这两个类,如果没有,请确保您的包在您的jar中生成所有依赖项。考虑像jar jar或大jar这样的解决方案。尝试一下,让我知道我正在使用上面列出的命令从命令行运行这个。我将我的类路径添加到原始问题中。