#spring #git #grails #jasper-plugin
#spring #git #grails #jasper-плагин
Вопрос:
У меня странная проблема, которая мешает запуску моего приложения Grails 3.3.9 после развертывания на Tomcat 8.
До недавнего времени у нас была собственная копия JasperService. Мы удалили это и теперь используем плагин Jasper. Увы, теперь мы получаем исключение (ff является нашим приложением)
org.grails.taglib.TagLibraryLookup.registerTagLib(TagLibraryLookup.java:113)
...
org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'ff.documents.JasperService' to required type 'grails.plugins.jasper.JasperService' for property 'jasperService'; nested exception is java.lang.IllegalStateException: Cannot convert value of type 'de.berlinale.ff.documents.JasperService' to required type 'grails.plugins.jasper.JasperService' for property 'jasperService': no matching editors or conversion strategy found
Поскольку у нас нет TagLib, внедряющего JasperService, я предполагаю, что где-то все еще есть память / ссылка на старую службу, которая на самом деле пытается внедриться в JasperTagLib плагина, который я не могу редактировать:
class JasperTagLib {
JasperService jasperService
...
}
Я использую IntelliJ Ultimate 2018.3, и проблема возникает не локально, а только при развертывании в качестве войны с tomcat. Я искал строку в path и scope, но ничего не нашел.
Я был бы рад, если бы кто-нибудь мог подсказать мне, где искать этот фантом.
Комментарии:
1. является ли ваше приложение монилитным? использует ли он какие-либо ваши модули / плагины? что ваш
grails-app/conf/spring/resources.groovy
содержит?2. На самом деле у нас есть 3 модуля, которые мы создаем отдельно с помощью одного плагина (ff-core), который каждый модуль компилирует / загружает при сборке. Все ресурсы.groovy содержат пустые закрытия компонентов, за исключением ядра, в которое мы загружаем плагин jasper, как указано в документах.
3. тогда старая служба или класс, ссылающийся на нее, все еще должен присутствовать в одной из этих зависимостей, возможно, в виде файла jar
Ответ №1:
Мы обнаружили, что это, возможно, было проблемой Git. Мы разветвили master и развернули это без каких-либо изменений, и это запустилось без проблем, поэтому мы предполагаем, что на самом деле это было поврежденное Git-репозиторий нашей master-ветки. Я думаю, @injecteer был прав, что он должен был содержать ссылку.
Я задам свой вопрос тегом git. Спасибо @injecteer