2013-12-05 2 views
0

Я пытаюсь установить 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 для создания и настройки всего этого для меня? Если да, то как мне начать?

+0

Это вопрос Загрузчик классов, если обе банки загружены. Вам нужно получить ссылку на загрузчик классов с правильным флагом и загрузить с ним класс. – Chaffers

+0

, какую версию jboss вы используете? – CoolBeans

+0

JBoss EWS 2.0, согласно моей установке OpenShift. –

ответ

0

Вы можете Rsync файлы из

{solr_code_base}/examples/lib/ext/

в

$OPENSHIFT_DATA_DIR/solrhome/lib

В вашем местном репо, добавьте ниже путь

common.loader=...,/var/lib/openshift/{#id}/app-root/data/solrhome/lib/*.jar 

(заменить {#id} с вашим идентификатором идентификатора openhift)

в .openshift/config/catalina.properties и нажмите на изменения в открытую.

и скопировать {solr_code_base}/example/resources/log4j.properties файл .openshift/config/

Он работал для меня

+0

Я сделал это для всех банок, включая log4j-1.2.16. Тем не менее, Tomcat все еще использует 1.2.14. Я каким-то образом придаю моим версиям более высокий приоритет. –

+0

Даже если вы добавите 1.2.16 в lib? – Maddy

+0

Да, не имеет никакого эффекта. –

Смежные вопросы