2017-07-20 78 views
0

我正在从事TIFF到JPEG的转换程序。我正在使用jai-imageio-core.1.3.1.jar中的TIFF实现,它可在类路径中找到。Weblogic服务器 - 为TIFFImageReader获取NoClassDeffError,即使库在类路径中

在eclipse的本地环境(在tomcat服务器上运行)中一切正常。但是,当我在Weblogic中部署相同时,出现以下错误。 Weblogic服务器无法识别TIFF实现类。我无法找到缺失的链接。请帮忙。

java.lang.NoClassDefFoundError: com/github/jaiimageio/impl/plugins/tiff/TIFFImageReader 
     at com.github.jaiimageio.impl.plugins.tiff.TIFFImageReaderSpi.createReaderInstance(TIFFImageReaderSpi.java:118) 
     at javax.imageio.spi.ImageReaderSpi.createReaderInstance(ImageReaderSpi.java:320) 
     at javax.imageio.ImageIO$ImageReaderIterator.next(ImageIO.java:529) 
     at javax.imageio.ImageIO$ImageReaderIterator.next(ImageIO.java:513) 
     at javax.imageio.ImageIO.read(ImageIO.java:1443) 
     at javax.imageio.ImageIO.read(ImageIO.java:1308) 
+0

在这种情况下,“classpath”是什么意思?请注意,您的Web应用程序具有与Weblogic服务器本身不同的'ClassLoader'。您可能无法访问除默认情况下的Web应用程序的WEB-INF/lib文件夹中的标准JRE类和JAR。但我相信WL有一种部署共享库的方式。 – haraldK

回答

0

我会回答我自己的问题。问题已解决。问题出现在jai-imageio-core.1.3.1.jar文件存在于多个地方。它存在于我的应用程序war文件中的WEB-INF/lib文件夹中。然而,在weblogic adm根目录下,同样的jar文件也存在于战争之外。 (我的坏)

我猜的WebLogic显然希望jar文件仅在1个地方(尤其是java的SPI实现JAR)

这也是一个好主意,搜索下weblogic的所有目录,以确保没有其他同名的jar文件。

-1

我只有一个jai-imageio-core.1.3.1.jar文件(在WAR文件中)并且发现了这个错误。 Weblogic托管服务器重新启动帮助了我。

相关问题