Maven - копирование ресурсов из клиентского проекта в веб-приложение - PullRequest
5 голосов
/ 14 ноября 2010

У меня есть проект, который состоит из клиентской части GWT и серверной части Tomcat. Все настроено с помощью Maven. Однако я хочу, чтобы клиентские файлы HTML и CSS (которые находятся в папке ресурсов) были скопированы в каталог веб-приложений проектов сервера. Я смотрел на плагин maven-dependency-plugin, но не могу заставить его работать. Я не могу найти способ указать исходный и целевой путь. Я был бы признателен, если бы кто-то указал мне правильное направление.

Спасибо.

Ответы [ 4 ]

3 голосов
/ 14 ноября 2010
  <!-- Use the following to extract all files from the dependent jar or war (see type) : -->

  <plugin>
     <artifactId>maven-dependency-plugin</artifactId>
     <executions>
       <execution>
         <id>unpack</id>
         <phase>generate-sources</phase>
         <goals>
           <goal>unpack</goal>
         </goals>
         <configuration>
           <artifactItems>
             <artifactItem>
               <groupId>com.group.id</groupId>
               <artifactId>artifact-id</artifactId>
               <version>1.0-SNAPSHOT</version>
               <type>jar</type>
               <overWrite>true</overWrite>
               <outputDirectory>target/exploded-artifact-id-jar</outputDirectory>
             </artifactItem>
           </artifactItems>
         </configuration>
       </execution>
     </executions>
   </plugin>

 <!-- then copy the neccessary files to the webapp directory -->

  <plugin> 
    <artifactId>maven-antrun-plugin</artifactId>  
    <executions> 
      <execution> 
        <id>copy-webapp-resources</id>  
        <phase>generate-resources</phase>  
        <configuration> 
          <tasks> 
            <copy todir="target/webapp" filtering="false"> 
              <fileset dir="target/exploded-artifact-id-jar/path-to-files"/>  
            </copy> 
          </tasks> 
        </configuration>  
        <goals> 
          <goal>run</goal> 
        </goals> 
      </execution>  
    </executions>  
  </plugin>
0 голосов
/ 31 декабря 2012

В вашем pom.xml вы можете указать ресурсы, которые вам нужно использовать. Например:

<build>
<!-- Resources to be bundeled with the final WAR -->
  <resources>
    <resource>
      <directory>config</directory>
    </resource>
  <resource>
      <directory>src/main/java</directory>
      <excludes>
        <exclude>**/*.java</exclude>
      </excludes>
  </resource>
  <resource>
    <directory>src/main/resources</directory>
  </resource>
</resources>
0 голосов
/ 31 декабря 2012

Взгляните на страницу плагинов Maven-War в Apache Maven:

http://maven.apache.org/plugins/maven-war-plugin/examples/adding-filtering-webresources.html

0 голосов
/ 17 сентября 2012

Вы должны создать папку public на том же уровне, что и файл конфигурации модуля <module_name>.gwt.xml. То есть:

+src/main/resources
|-<module_name>.gwt.xml
|-+public
  |-<static resources>

Таким образом, после компиляции gwt все ресурсы перейдут на src/main/webapp/<module_name>/. Это папка, которую maven (через плагин) или вы (вручную) будете использовать для создания окончательного веб-приложения.

Надеюсь, это поможет.
Привет

...