2011-01-20 3 views
-1

Я использую Maven для управления моей сборкой. Для тестирования разработчика я использую Jetty, который я запускаю, используя причал: запустить цель в плагине Jetty Maven. Я должен также отметить, что у меня война: взорвалась работа на более ранней стадии, которая строит каталог, с которым работает Jetty.Проблемы с classpath работает Jetty через Maven

Проблема, с которой я сталкиваюсь, заключается в том, что задача war: exploded ставит зависимости сборки в WEB-INF/lib (как и должно быть), и, кроме того, Maven, похоже, подает Jetty путь к классу сборки через системный загрузчик классов. Это приводит к тому, что каждый барабан загружается дважды, а должен быть в порядке, за исключением того, что, к сожалению, библиотека Datanucleus бросает исключение во второй раз, когда она загружается в путь к классам.

Единственное решение, о котором я могу сейчас думать, это создать два профиля, профиль сборки и профиль тестирования разработчика. Профиль теста разработчика исключает все зависимости и причал: запуск будет выполняться в тестовом профиле разработчика. Это похоже на большую конфигурацию для того, что, на мой взгляд, будет простым.

Кто-нибудь знает, есть ли способ предотвратить запуск Maven из класса classpath в Jetty?

ответ

2
<plugin> 
<groupId>org.mortbay.jetty</groupId> 
<artifactId>maven-jetty-plugin</artifactId> 
<version>6.1.26</version> 
<configuration> 
    <useTestClasspath>true</useTestClasspath> 

...

Опция "useTestClasspath" должны иметь эффект, который вы ищете.

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