Я пытаюсь установить Solr на OpenShift, развертывая войну Solil van Sol. У меня это работает в основном, но регистрация запускает исключение NoSuchMethodError. B/c Solr пытается использовать версию JBoss 1.2.14 для log4j вместо 1.2.16, которую требует Solr (оба загружены, однако).Как заставить войну использовать другую версию jar, чем контейнер приложения?
Я уже скорректировал файл catalina.properties (common.loader), чтобы загрузить 1.2.16, но я не знаю, как сказать: «solr.war должен использовать log4j-1.2.16», либо явно, или путем изменения некоторого приоритета или порядка загрузки банки. Из-за ограничений OpenShift, я не могу просто обновить версию JBoss до 1.2.16 (и я сомневаюсь, что я должен).
Есть ли ... a) Изменение конфигурации, которое я могу сделать, чтобы война использовала конкретную загруженную банку? b) Должен ли я упаковать все это как файл уха? (Я мало знаю об этом) c) Должен ли я пытаться использовать Maven для создания и настройки всего этого для меня? Если да, то как мне начать?
Это вопрос Загрузчик классов, если обе банки загружены. Вам нужно получить ссылку на загрузчик классов с правильным флагом и загрузить с ним класс. – Chaffers
, какую версию jboss вы используете? – CoolBeans
JBoss EWS 2.0, согласно моей установке OpenShift. –