Затем я переместил (очень короткий) класс в приложение WildFly sever, и, несмотря на то, что у него точно такой же Генерация кода и библиотеки завершается неудачей: невозможно найти символ. Те символы, которые он не может найти, — это JREvaluator, JRFillVariable, а также такие пакеты, как net.sf.jasperreports.engine
На данный момент у меня есть подтвердил, что:
- Сборки проекта (это означает, что эти классы видны для javac, но не для jvm)
- добавлен в war (он присутствует в папке /WEB-INF/lib вместе с другими библиотеками, такими как gson и hibernate
Код: Выделить всё
jasperreports-6.13.0.jar - содержит отсутствующие классы
Код: Выделить всё
jasperreports-6.13.0.jar
Попытки (и неудачные) решения
< 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 во время выполнения или использование специального загрузчика классов
Подробнее здесь: https://stackoverflow.com/questions/635 ... out-server
Мобильная версия