Добавление класса маршрута к причалу, работающему в тесте интеграции maven

Я пытаюсь настроить интеграционные тесты для проекта Maven, который создает военный файл. (Как видно здесь http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin/.) Однако для файла войны требуется куча файлов .properties в пути к классам, что я не хочу для объединения в войну.

Есть ли способ (желательно с помощью конфигурации плагина), чтобы добавить папку в путь к классам, используемый причалом?

I Я искал это и нашел http://markmail.org/message/awtqrgxxttra3uxx, но это, насколько я могу судить, фактически не работает. Файлы .properties не найдены.

Ответ 1

Это должно быть возможно с помощью элемента конфигурации webAppConfig (пример ниже взято из этот поток):

<webAppConfig>
  <contextPath>/nportal</contextPath>
  <!-- All I want to do here is add in the /etc/jetty/classes for runtime files. For some reason I have to also add back in the /target/classes directory -->
  <extraClasspath>${basedir}/target/classes/;${basedir}/etc/jetty/classes/</extraClasspath>
</webAppConfig> 

Ответ 2

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

<configuration>
   <useTestClasspath>true</useTestClasspath>
   ...
</configuration>

Затем это позволит вам размещать все ресурсы/классы в тестовом классе и отображать их на сервере Jetty без их ползания в производственный код.

Ответ 3

Вы можете разместить свои дополнительные файлы конфигурации под /src/test/resources и установить свойство <useTestScope>true</useTestScope> в конфигурации плагина, как указано здесь:

useTestScope

Если true, классы из testClassesDirectory и зависимостей области "test" помещаются сначала в путь к классам. По умолчанию это false.