我有一个 Java 应用程序,它依赖于 Epson 打印机驱动程序,而后者又依赖于 jai_core.jar 和 jai_codec.jar。当 JAI jar 位于 JAVA_HOME/lib/ext 中时,一切正常,但如果我将它们放在不同的位置并将该位置添加到应用程序类路径中,则会收到 NoClassDefFoundError 错误。
我的理解是,应用程序不应该知道或关心依赖 jar 是存储在 ext/lib 中还是在类路径中明确列出,但这里似乎并非如此。是否有某种原因可以在 ext/lib 中找到 jar,但在命令行指定的类路径中却找不到 jar?