#noclassdeffounderror #oracle-adf #jdeveloper #apache-fop
#ошибка noclassdeffounderror #oracle-adf #jdeveloper #apache-fop
Вопрос:
Oracle Jdeveloper (версия 11.1.1.6.0) создает приложение ADF, которое генерирует PDF-файл с использованием библиотеки Apache FOP. Мое приложение запускает локальный веб-сервер. Но при развертывании на рабочем сервере ниже отображается исключение NoClassDefFoundError и не удается сгенерировать файл 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>
Ответ №1:
Ошибка NoClassDefFoundError, вызванная ClassNoFoundException, указывает на отсутствие библиотеки на сервере. Проверили ли вы свой артефакт развертывания (EAR), содержит ли он все необходимые банки FOP? Если все jar являются частью EAR (или, лучше, WAR внутри EAR), вам нужно указать серверу Weblogic сначала загрузить jar из вашего развертывания, прежде чем просматривать jar, которые уже есть на сервере. См. https://tompeez.wordpress.com/2015/06/06/pitfalls-when-using-newer-versioned-libraries-than-shipped-with-jdeveloper-or-weblogic-server / для получения дополнительной информации об этом.