2014-02-11 2 views
0

Мы находимся в процессе обновления с Jetty 9.0.6 до 9.1.1 и работаем с изменениями конфигурации для завершения перехода. В нашем приложении развернуто множество веб-контекстов, все из которых используют общий набор библиотек (apache commons, logging, specific db и т. Д.), Расположенных во внешнем каталоге (то есть - вне развертывания Jetty).Как включить все файлы .jar в каталог Jetty 9.1.1

В Jetty 9.0.6, мы включили параметр при запуске, который ссылается на каталог верхнего уровня для этих общих библиотек:

java -jar .\start.jar lib=M:\common\lib 

В выработанных на Jetty 9.1.1 флаг был изменен --lib. С помощью --list-configs мы проверили, что каталог находится в пути к классам, созданном start.jar. Однако, когда приложение запущено, мы получаем многочисленные проблемы ClassNotFound. Все эти ошибки относятся к классам, содержащимся в файлах jar, которые находятся в общей библиотеке.

Это заставляет меня поверить, что флаг предназначен для классов, не связанных с jarred, или списка конкретных файлов jar. Мы также пытались использовать M: \ common \ lib * и m: \ common \ lib * .jar безрезультатно.

Я искал любые сообщения о подобной проблеме, но не нашел ни одного вопроса, задающего вопрос. Кто-нибудь знает, как передать все файлы .jar, расположенные в каталоге Jetty 9.1.1 при запуске?

+0

Единственное, что мне удалось довести до сих пор, это включить модуль ** ext ** и поместить все библиотеки в каталог ** lib \ ext **. Не предпочтительное решение, учитывая, что у нас есть другие экземпляры Jetty и другие пакетные процессы, которые мы хотели бы удалить из одного экземпляра этих библиотек. – skimbleton

ответ

0

Я сообщил эту проблему на сайте Jetty по следующему адресу:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=428097

будет продолжать отслеживать дальнейшую информацию о конфигурации или выпуска оттуда.

ОБНОВЛЕНИЕ: - Эти проблемы были разрешены и объединены в базу данных Jetty 9.2. Для версии 9.1.5 мы создали настраиваемый модуль, который указывает все файлы .jar в каталоге и работает нормально (хотя и не идеально).

commonlib.mod файл выглядит следующим образом:

# 
# commonlib Module 
# 

[lib] 
M:\commonlib\commons-codec-1.4.jar 
M:\commonlib\commons-fileupload-1.2.1.jar 
M:\commonlib\commons-io-2.3.jar 
M:\commonlib\commons-logging-1.1.1.jar 
M:\commonlib\commons-net-2.2.jar 
M:\commonlib\commons-pool-1.6.jar 

Используется командную строку, чтобы добавить модуль commonlib в start.ini файл (хотя вручную редактировать будет работать нормально тоже).

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