在Prod Server中部署时出现NoClassDefFoundError Fop库-Jdeveloper 11 Oracle ADF

问题描述

Oracle Jdeveloper(版本11.1.1.6.0)正在构建ADF应用程序,该应用程序使用Apache FOP库生成PDF文件。我的应用程序运行本地Web服务器。但是在生产服务器中部署时,下面显示NoClassDefFoundError异常,并且无法生成PDF文件

Application Navigator Panel

Error Dialog when ADF Button clicked to generate PDF

异常输出

<code>
javax.el.ELException: java.lang.NoClassDefFoundError: org/apache/avalon/framework/configuration/ConfigurationException
    at com.sun.el.parser.AstValue.invoke(AstValue.java:191)
    at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
    ...
    ...
Caused by: java.lang.NoClassDefFoundError: org/apache/avalon/framework/configuration/ConfigurationException
    at org.apache.fop.apps.FopFactory.<init>(FopFactory.java:153)
    at org.apache.fop.apps.FopFactory.newInstance(FopFactory.java:177)
    ...
    ...
Caused by: java.lang.classNotFoundException: org.apache.avalon.framework.configuration.ConfigurationException
    ...
    ...
</code>

解决方法

由ClassNoFoundException引起的NoClassDefFoundError指向服务器上缺少的库。您是否检查了部署工件(EAR)是否包含所有必需的FOP罐子? 如果所有jar都是EAR的一部分(或者更好的是EAR内部的WAR),则需要先让Weblogic Server从部署中加载jar,然后再查看服务器上已有的jar。有关更多信息,请参见https://tompeez.wordpress.com/2015/06/06/pitfalls-when-using-newer-versioned-libraries-than-shipped-with-jdeveloper-or-weblogic-server/

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...