【发布时间】:2010-12-02 08:48:43
【问题描述】:
我正在尝试在 OSGi 容器 (spring-dm) 中运行 Java 高级成像 (JAI)。我可以访问 JAI 库,但在我第一次调用 JAI 时收到以下错误:
错误:无法加载 mediaLib 加速器包装类。继续纯 Java 模式。 出现在:com.sun.media.jai.mlib.MediaLibAccessor com.sun.media.jai.mlib.MediaLibLoadExceptionDLL 位于类路径中,并在我的清单中作为 Bundle-NativeCode 库引用。是否可以在 OSGi 中运行本机 JAI DLL?如果是这样,我需要做什么?
(编辑:澄清)
我下载了 Windows JAI 库并从下载包中提取了 JAR 和 DLL。
主祭:
清单版本:1.0 捆绑包名称:Java 高级成像 捆绑符号名称:javax.media.jai 捆绑版本:1.1.3 捆绑类路径:libs/, jai_codec.jar, jai_core.jar, mlibwrapper_jai.jar Bundle-RequiredExecutionEnvironment:JavaSE-1.6 Bundle-NativeCode:libs/mlib_jai_mmx.dll;操作系统名=WindowsXP;处理器=x86, 库/mlib_jai_util.dll;操作系统名=WindowsXP;处理器=x86, 库/mlib_jai.dll;操作系统名=WindowsXP;处理器=x86 出口包装:【问题讨论】:
-
信息不多。你从哪里得到 JAI 包?你自己滚的吗?本机 DLL 位于哪个类路径 - 包的类路径?我怀疑类可见性或加载本机 DLL 的机制的常见问题是使用平台定位库的方法(PATH、LD_LIBRARY_PATH、...)而不是从类路径中。