【问题标题】:ClassNotFoundException javax.media.jai.OperationRegistrySpi but the class is thereClassNotFoundException javax.media.jai.OperationRegistrySpi 但该类在那里
【发布时间】:2016-11-08 00:02:30
【问题描述】:

我有两个使用 Jai 的类似项目,一个运行顺利,而另一个在从 jai_core.jar 库调用 RenderedOp 类时停止,说它找不到类 OperationRegistrySpi。

两个类都存在于该 jar 中。

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$1.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$000(Unknown Source)
>>  at java.net.URLClassLoader$1.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 上。

【问题讨论】:

  • @AammadUllah 谢谢,但我已经检查了很多次构建路径配置,我认为这可能是与 Jai 相关的问题。
  • 你能在eclipse中使用Ctrl+Shift+T找到一个类javax.media.jai.OperationRegistrySpi吗?如果是的话,你找到了多少?您可能有多个不同版本的 jar jai_core.jar。能发个截图吗?
  • @ChiragParmar 我可以通过删除所有与 Jai 相关的 jar 文件并重新安装 jai-1_1_2_01-lib-windows-i586-jre.exe 包来解决它。我认为在不同的位置拥有多个 jai-core 库文件使我的项目表现得很奇怪。非常感谢您的评论。
  • @AammadUllah- 干杯..!!

标签: java eclipse jai javax


【解决方案1】:

我可以通过删除所有与 Jai(jai-core 和 jai-codec)相关的 jar 文件并重新安装找到 here 的 jai-1_1_2_01-lib-windows-i586-jre.exe 包来解决它。

问题是我缺少安装 jai 时附带的 mlibwrapper_jai.jar。

【讨论】:

  • "此程序需要安装 Java 2 JRE 1.3 版" 安装中止
  • 你知道一种只获取 JAR 的方法吗?比如说,在 ZIP 文件中?那些安装程序坏了...
  • 没关系。我使用 7z 从安装程序 EXE 中提取它们。
猜你喜欢
  • 2012-10-17
  • 2023-01-16
  • 2019-09-30
  • 2017-03-30
  • 2017-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-03
相关资源
最近更新 更多