Добавление classpath к запуску молы в тесте интеграции maven - PullRequest
10 голосов
/ 01 февраля 2010

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

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

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

Ответы [ 3 ]

21 голосов
/ 01 февраля 2010

Это должно быть возможно при использовании элемента конфигурации 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> 
16 голосов
/ 29 июля 2010

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

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

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

5 голосов
/ 22 июня 2015

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

useTestScope

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

...