плагин maven-jetty не использует правильные пути - PullRequest
0 голосов
/ 21 июня 2011

Я использую плагин Jetty-Maven для развертывания веб-приложения для интеграционного тестирования. У меня есть проект, который состоит из двух POM. Один в корне и один в каталоге в корне проекта (назовите это каталогом веб-приложения). Когда я запускаю интеграционный тест из maven (который использует плагин jetty-maven), в каталоге webapp он работает отлично. Однако, когда я запускаю его из корневого каталога, он заходит в каталог webapp и запускает тест, но по какой-то причине он ошибается путями. (В результате все ресурсы не могут быть найдены).

Он объединяет путь корневого каталога с путем к ресурсам веб-приложения. Он также не понимает оператор точки в пути.

Например: если это нужно искать "./resources/resource.xml"

Это будет нормально работать, если тест был запущен из каталога webapp, однако, если запустить его из корневого каталога, он будет иметь путь: "c: / project /./ resources / resource.xml" Это плагин Jetty-Maven, который делает это, но я не уверен, почему.

Есть ли способ это исправить?

Вот соответствующая часть моего каталога веб-приложений POM

              <groupId>org.mortbay.jetty</groupId>
              <artifactId>jetty-maven-plugin</artifactId>
              <configuration>
                   <webApp>${basedir}/target/webappSNAPSHOT.war</webApp>
                   <extraClasspath>${project.build.testOutputDirectory}</extraClasspath>
                   <testClassesDirectory>${basedir}/target/test-classes</testClassesDirectory>
                   <useTestClasspath>true</useTestClasspath>
                   <stopPort>9929</stopPort>
                   <stopKey>stopKey</stopKey>

              </configuration>

1 Ответ

1 голос
/ 21 июня 2011

Скорее всего, вам просто нужно указать $ {basedir} в пути к ресурсам вашего веб-приложения.

...