В цели run-war плагина jetty есть элемент, который вводит строковый путь к развёртыванию войны. Я бы предпочел указать войну для развертывания, используя координаты maven, определенные нашим веб-модулем. Есть какой-либо способ сделать это?
На самом деле это не плагин maven jetty, который предполагается использовать, плагин развертывает войну текущего модуля, то, что вы хотите сделать, не поддерживается по умолчанию.
В разделе 4.13 «Лучшая сборка с Maven» описывается использование Cargo для развертывания войны, указанной с использованием координат maven,
Да, Cargo может сделать это чисто.
но это серьезный перебор, учитывая, что мы используем причал.
Я не согласен. Во-первых, плагин jetty не поддерживает то, что вы хотите делать из коробки (так что это может быть неподходящий инструмент). Во-вторых, серьезное излишество сильно преувеличено, на самом деле это заблуждение, особенно с учетом того, что для груза требуется очень небольшая конфигурация (нулевая?) Для встроенной Jetty.
Более разумный IMO использует зависимость: копировать, чтобы скопировать только что созданный и установленный военный артефакт на фиксированный путь в целевом каталоге модуля функциональных тестов.
Без обид, но весь ваш вопрос звучит примерно так: У меня есть молоток, он подходит для гвоздя, могу ли я использовать его для винта, учитывая, что получение отвертки кажется серьезным излишеством? Чтобы ответить этот вопрос (который каким-то образом вы говорите), вы можете использовать dependency:copy и заставить все это работать с плагином maven jetty, но это хак (и, поскольку вы на самом деле не задаете никаких вопросов, я думаю, вы хотели мнение по этому поводу). Конечно же, окончательное решение за вами :)
На всякий случай вот как я бы это реализовал с Cargo:
<dependencies>
<dependency>
<groupId>war group id</groupId>
<artifactId>war artifact id</artifactId>
<type>war</type>
<version>war version</version>
</dependency>
...
</dependencies>
...
<build>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<configuration>
<!-- Container configuration -->
<container>
<containerId>jetty6x</containerId>
<type>embedded</type>
</container>
<!-- Configuration to use with the container or the deployer -->
<configuration>
<deployables>
<deployable>
<groupId>war group id</groupId>
<artifactId>war artifact id</artifactId>
<type>war</type>
<properties>
<context>war context</context>
</properties>
</deployable>
</deployables>
</configuration>
<!-- Don't wait, execute the tests after the container is started -->
<wait>false</wait>
</configuration>
<executions>
<execution>
<id>start-container</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>stop-container</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
...
</build>
И я не думаю, что это можно объективно квалифицировать как «серьезный перебор».
person
Pascal Thivent
schedule
13.02.2010