JasperReport не может найти символ JREvaluator в WildFly, работает без сервераJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 JasperReport не может найти символ JREvaluator в WildFly, работает без сервера

Сообщение Anonymous »

Недавно я работал над созданием отчетов с Джаспером. Я создал простую программу для ее тестирования, и при запуске ее через IDE она работала нормально.
Затем я переместил (очень короткий) класс в приложение WildFly sever, и, несмотря на то, что у него точно такой же Генерация кода и библиотеки завершается неудачей: невозможно найти символ. Те символы, которые он не может найти, — это JREvaluator, JRFillVariable, а также такие пакеты, как net.sf.jasperreports.engine
На данный момент у меня есть подтвердил, что:
  • Сборки проекта (это означает, что эти классы видны для javac, но не для jvm)
  • Код: Выделить всё

    jasperreports-6.13.0.jar
    добавлен в war (он присутствует в папке /WEB-INF/lib вместе с другими библиотеками, такими как gson и hibernate
  • Код: Выделить всё

    jasperreports-6.13.0.jar
    содержит отсутствующие классы
Мне кажется, проблема не в том, что библиотека не загружается или отсутствуют классы (потому что при тестировании среде это работает), но что-то мешало загрузчику классов JBoss загружать эти классы
Попытки (и неудачные) решения
< ul>
[*]Чисто и строй

[*]Добавление -Djava.awt.headless=true в параметры виртуальной машины - ничего не изменилось

[*]Добавление -Djava.awt.headless=false в параметры виртуальной машины - тоже ничего не изменило, но однажды вызвало исключение NullPointerException внутри библиотеки jasperreport . Для программы тестирования - работало в обоих случаях

[*]Добавление commons-beanutils-1.9.4.jar, commons-digester-2.1 .jar, commons-collections4-4.4.jar и commons-loggin-1.2.jar – без изменений

[*]Добавление jasper-compiler-jdt-5.5.23.jar - это вызвало другую ошибку, а именно NoSuchMethodError для org.eclipse.jdt.internal.compiler.ICompilerRequestor и некоторых других. Однако эта библиотека не нужна, поскольку, насколько я понимаю, jasperreport-6.13.0.jar уже содержит свой компилятор, а отдельная библиотека для компилятора уже давно не требуется.


Что не было предпринято:
  • Принудительная загрузка классов (http://www.java2s.com/Code/Java/Reflect ... dedful.htm)
  • Динамическая загрузка jar во время выполнения или использование специального загрузчика классов
Обновление: после просмотра этого ответа и применения предположения отсутствующий класс был другим. Это говорит о том, что зависимости внутри jasperreport.jar загружаются неправильно

Подробнее здесь: https://stackoverflow.com/questions/635 ... out-server
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»