2012-02-20 113 views
0

让我开始说我最近继承了一个使用Eclipse编写的Java应用程序。我是这种语言/ IDE的新手,但我在C#Visual Studio方面拥有丰富的经验。所以,我的问题可能非常愚蠢,但我有一个基础,所以我不是一个完整的编程新手。Java Advanced Imaging“PlanarImage”class not found

我使用原始开发人员提供的启动配置将此项目导出为可运行的JAR。我已经用“将所需的库提取到生成的JAR”和“将所需的库打包到生成的JAR”中来尝试此操作。无论哪种方式,
我得到以下错误当我启动应用程序:

java -jar appName.jar appName.properties 

java.lang.NoClassDefFoundError: javax/media/jai/PlanarImage 

我使用这个命令,其中appName.properties是一个属性文件,该文件需要运行的应用程序启动应用程序

这会从单独的堆栈跟踪中多次出现。我没有看到任何其他运行时错误或编译错误。我的JRE系统库是jre1.5.0_05。我通过从http://download.java.net/media/jai/builds/release/1_1_3/下载jai-1_1_3-lib-windows-i586-jre.exe并将其安装到jre5目录中来安装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;. 

有什么明显的我在做在这里吗?是否有任何其他信息可以帮助我找出为什么我得到这个错误

+0

尝试将jar扩展名更改为.zip并将其解压缩,然后在其中查找PlanarImage.class。如果找不到它,那么它在构建期间不会导出。如果你确实找到了,那么还有另一个类路径噱头。 – MahdeTo 2012-02-20 05:14:17

+0

我发现PlanarImage.class,但它来自实际在项目中声明的接口。它看起来像最初的开发者创建了自己的PlanarImage界面。 – Jake 2012-02-20 23:56:16

+0

好吧,它是否共享相同的包?如果是这样,只需更改您自己的课程包 – MahdeTo 2012-02-21 05:15:42

回答

0

确保该jar在您的类路径中。你是从IDE还是从命令行运行?

+0

我使用上面列出的命令从命令行运行此操作。我将我的类路径添加到原始问题中。 – Jake 2012-02-20 23:54:56