Tomcat с общими библиотеками в комплекте Jar

можно ли создать связанный Jar и добавить его в папку общих библиотек при установке моего tomcat?

У меня есть несколько проектов, которые используют пакеты верблюда, поэтому я попытался поместить банки в tomcat/libs, и он отлично работает. Но было бы лучше, если бы я мог добавить все отдельные банки в комплект.

Я уже пробовал с плагином one-jar: https://code.google.com/p/onejar-maven-plugin/ Но вывод tomcats говорит, что он не смог найти класс cxfservlet.

С плагином Maven-Assembly-Plugin я получаю сообщение об ошибке, что ему не удалось найти контекст пространства имен camel-cxf.

У вас есть другие идеи, что я могу сделать? Или это невозможно?

Спасибо, Крис


person Christofer Steingrefer    schedule 11.09.2015    source источник
comment
Если вам нужен jar только с пакетами Camel, то, возможно, проще всего будет разархивировать jar-файлы Camel в один каталог, а затем заархивировать его обратно в один jar. Плагин one-jar создает одну банку, но со всем проектом, со всеми зависимостями, и кажется, что это не то, что вам нужно.   -  person greenmarker    schedule 11.09.2015


Ответы (1)


Чтобы создать большой (uber) JAR, необходимо также правильно включить файлы манифеста и метаданных.

См. этот FAQ и ссылку JIRA, как это сделать правильно:

person Claus Ibsen    schedule 14.09.2015
comment
Эй, спасибо, это мне очень помогло. Но у меня все еще есть проблема при запуске верблюда с моей cxf-Endpoint. Похоже, что WSDL не удалось найти из uber-jar с файлами camel, а мой wsdl остается в файле war. Я получаю это сообщение об ошибке: org.apache.camel.RuntimeCamelException: java.lang.NullPointerException ........ Вызвано: java.lang.NullPointerException в org.apache.camel.component.cxf.WSDLServiceFactoryBean.getDefinition (WSDLServiceFactoryBean.java:64) Есть идеи, что я могу сделать, чтобы это исправить? - person Christofer Steingrefer; 17.09.2015