ClassNotFoundException javax.media.jai.OperationRegistrySpi 但 class 在那里
ClassNotFoundException javax.media.jai.OperationRegistrySpi but the class is there
我有两个类似的项目与 Jai 一起工作,一个运行顺利,而另一个在从 jai_core.jar 库调用 RenderedOp class 时停止,说它找不到 class OperationRegistrySpi。
两个 class都存在于那个罐子里。
RenderedOp imagen = JAI.create("stream",imgTif ); //This line throws the exception
日志是这样的:
GRAVE: >>java.lang.NoClassDefFoundError: javax/media/jai/OperationRegistrySpi
>>java.lang.ClassNotFoundException: javax.media.jai.OperationRegistrySpi
>> at java.net.URLClassLoader.run(Unknown Source)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at java.net.URLClassLoader.findClass(Unknown Source)
>> at sun.misc.Launcher$ExtClassLoader.findClass(Unknown Source)
>> at java.lang.ClassLoader.loadClass(Unknown Source)
>> at java.lang.ClassLoader.loadClass(Unknown Source)
>> at java.lang.ClassLoader.defineClass1(Native Method)
>> at java.lang.ClassLoader.defineClassCond(Unknown Source)
>> at java.lang.ClassLoader.defineClass(Unknown Source)
>> at java.security.SecureClassLoader.defineClass(Unknown Source)
>> at java.net.URLClassLoader.defineClass(Unknown Source)
>> at java.net.URLClassLoader.access[=13=]0(Unknown Source)
>> at java.net.URLClassLoader.run(Unknown Source)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at java.net.URLClassLoader.findClass(Unknown Source)
>> at sun.misc.Launcher$ExtClassLoader.findClass(Unknown Source)
>> at java.lang.ClassLoader.loadClass(Unknown Source)
>> at java.lang.ClassLoader.loadClass(Unknown Source)
>> at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
>> at java.lang.ClassLoader.loadClass(Unknown Source)
>> at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1595)
>> at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
>> at java.lang.Class.forName0(Native Method)
>> at java.lang.Class.forName(Unknown Source)
>> at com.sun.media.jai.util.Service$LazyIterator.next(Service.java:267)
>> at javax.media.jai.OperationRegistry.registerServices(OperationRegistry.java:2047)
>> at javax.media.jai.ThreadSafeOperationRegistry.registerServices(ThreadSafeOperationRegistry.java:612)
>> at javax.media.jai.OperationRegistry.initializeRegistry(OperationRegistry.java:365)
>> at javax.media.jai.JAI.<clinit>(JAI.java:560)
我已经配置了构建路径,并且 jar 文件位置对于工作项目和错误项目是相同的。
我在使用 Eclipse。
我可以通过删除所有与 Jai(jai-core 和 jai-codec)相关的 jar 文件并重新安装找到的 jai-1_1_2_01-lib-windows-i586-jre.exe 包来解决它 here.
问题是我缺少安装 jai 时附带的 mlibwrapper_jai.jar。
我有两个类似的项目与 Jai 一起工作,一个运行顺利,而另一个在从 jai_core.jar 库调用 RenderedOp class 时停止,说它找不到 class OperationRegistrySpi。
两个 class都存在于那个罐子里。
RenderedOp imagen = JAI.create("stream",imgTif ); //This line throws the exception
日志是这样的:
GRAVE: >>java.lang.NoClassDefFoundError: javax/media/jai/OperationRegistrySpi
>>java.lang.ClassNotFoundException: javax.media.jai.OperationRegistrySpi
>> at java.net.URLClassLoader.run(Unknown Source)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at java.net.URLClassLoader.findClass(Unknown Source)
>> at sun.misc.Launcher$ExtClassLoader.findClass(Unknown Source)
>> at java.lang.ClassLoader.loadClass(Unknown Source)
>> at java.lang.ClassLoader.loadClass(Unknown Source)
>> at java.lang.ClassLoader.defineClass1(Native Method)
>> at java.lang.ClassLoader.defineClassCond(Unknown Source)
>> at java.lang.ClassLoader.defineClass(Unknown Source)
>> at java.security.SecureClassLoader.defineClass(Unknown Source)
>> at java.net.URLClassLoader.defineClass(Unknown Source)
>> at java.net.URLClassLoader.access[=13=]0(Unknown Source)
>> at java.net.URLClassLoader.run(Unknown Source)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at java.net.URLClassLoader.findClass(Unknown Source)
>> at sun.misc.Launcher$ExtClassLoader.findClass(Unknown Source)
>> at java.lang.ClassLoader.loadClass(Unknown Source)
>> at java.lang.ClassLoader.loadClass(Unknown Source)
>> at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
>> at java.lang.ClassLoader.loadClass(Unknown Source)
>> at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1595)
>> at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
>> at java.lang.Class.forName0(Native Method)
>> at java.lang.Class.forName(Unknown Source)
>> at com.sun.media.jai.util.Service$LazyIterator.next(Service.java:267)
>> at javax.media.jai.OperationRegistry.registerServices(OperationRegistry.java:2047)
>> at javax.media.jai.ThreadSafeOperationRegistry.registerServices(ThreadSafeOperationRegistry.java:612)
>> at javax.media.jai.OperationRegistry.initializeRegistry(OperationRegistry.java:365)
>> at javax.media.jai.JAI.<clinit>(JAI.java:560)
我已经配置了构建路径,并且 jar 文件位置对于工作项目和错误项目是相同的。
我在使用 Eclipse。
我可以通过删除所有与 Jai(jai-core 和 jai-codec)相关的 jar 文件并重新安装找到的 jai-1_1_2_01-lib-windows-i586-jre.exe 包来解决它 here.
问题是我缺少安装 jai 时附带的 mlibwrapper_jai.jar。