Maven: скопируйте WAR в каталог веб-приложений Tomcat - PullRequest
41 голосов
/ 15 декабря 2008

Могу ли я что-нибудь добавить в pom.xml, чтобы скопировать созданный WAR-файл из целевого каталога в каталог webapps моего Tomcat?

Ответы [ 9 ]

64 голосов
/ 11 февраля 2011
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                <outputDirectory>U:\JBoss6\server\default\deploy\</outputDirectory>
            </configuration>
        </plugin>

Как только вы добавите его в свой файл pom.xml, вы можете скопировать файл WAR, позвонив по номеру mvn package или mvn war:war.

15 голосов
/ 10 апреля 2009

Я использовал плагин Maven WAR: http://maven.apache.org/plugins/maven-war-plugin/usage.html

7 голосов
/ 15 декабря 2008

Вы можете использовать http://cargo.codehaus.org/Deploying+to+a+running+container и настроить его соответствующим образом.

6 голосов
/ 06 июня 2013

Это правильный подход:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.3</version>
            <configuration>
             <warName>${name}</warName>
             <outputDirectory>C:\Tomcat7\webapps</outputDirectory>
            </configuration>
        </plugin>

Это поместит файл war в папку C: \ Tomcat7 \ webapps с именем проекта maven.

6 голосов
/ 16 декабря 2008

Вы также можете взглянуть на плагин причала. Просто наберите "mvn jetty: run-war", и jetty должен запустить ваше war-файл.

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

5 голосов
/ 11 февраля 2009

В качестве альтернативы вы можете просмотреть tomcat в вашей целевой директории и развернуть ее прямо оттуда.

В вашем элементе Context.xml или server.xml:

<Context path="" docBase="/path/to/target/exploded">
...
</Context>

Тогда вы можете использовать войну: взорванная цель, чтобы создать свою взорванную войну.

3 голосов
/ 16 декабря 2008

Не идеально, но если у вас действительно странная настройка сервера приложений, вы всегда можете использовать задание antrun для выполнения при запуске упаковки

<build>
    ....
    <plugins>
       <plugin>
          <artifactId>maven-antrun-plugin</artifactId>
          <executions>
            <execution>
              <phase>package</phase>
              <configuration>
                <tasks>
                  <!-- Ant copy tasks go here -->
                </tasks>
              </configuration>
              <goals>
                <goal>run</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
     </plugins>
  </build>
1 голос
/ 12 декабря 2016

Спасибо за все приведенные выше ответы.

Ответ ниже работает для меня. Это всего лишь консолидированный. Ничего особенного!

</project>
 ........ 
   <build>
    <finalName>HelloWorld1</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId> 
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                <outputDirectory>C:\Program Files (x86)\apache-tomcat-8.5.8\webapps\</outputDirectory>
            </configuration>
        </plugin>
    </plugins>
  </build>
</project>

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

1 голос
/ 19 апреля 2009

Вы также можете сделать это с помощью плагина зависимости

...