Прежде чем задать свой вопрос, лучше сказать, что я работаю на корпоративном ноутбуке без прав администратора. Большая часть программного обеспечения, в котором я нуждалась, поступала из старых программных пакетов, подготовленных в компании, которые содержат смесь полезного и устаревшего программного обеспечения, поэтому среда немного перепуталась, и у моего коллажа не было таких же проблем на его ноутбуке.Flyway не может найти ресурсы в weblogic Развертывание Java EE 7
Я использую Weblogic 12.2.2.1 (по крайней мере, это один приходит с чистого установщиком) с Java 8 обновлений 65.
У меня есть файл, содержащий уха на уровне корневой баночку файл с некоторыми ресурсами и файл войны с веб-приложением и всеми зависимостями. Предполагается, что приложение работает в среде Java EE 7. Когда я развернул его локально, я проверил путь к классам с инструментами JDK, и я мог видеть только основные библиотеки java и weblogic, затем я проверил путь к классам с помощью анализатора классов Loadload, и я увидел, что была загружена банка на корневом уровне файла ушей с помощью weblogic.utils.classloaders.ChangeAwareClassLoader, в то время как весь контент военного файла был загружен weblogic.utils.classloaders.GenericClassLoader Это разделение повлияло, потому что при запуске Flyway пытается загрузить сценарии миграции в качестве ресурсов classpath, и это выходит из строя. Я отлаживал его, и я видел, что он работает от GenericClassLoader и этот загрузчик классов не может видеть эти ресурсы.
Мой первый вопрос: почему GenericClassLoader не может найти ресурсы, разве он не должен проверять также ресурсы, которыми обладают другие загрузчики классов в цепочке наследования? Но тогда, это скорее проблема Weblogic, проблема Flyway или проблема установки?
Могу ли я ожидать тех же проблем в будущем от других сторонних библиотек, ищущих некоторые ресурсы?
Как обходной путь я переместил сценарии в военный файл, есть ли более чистое решение?
Дополнительное примечание. Я пробовал как поэтапное, так и неэтапное развертывание.