Maven - 将资源从客户端项目复制到webapp

时间:2010-11-14 11:48:30

标签: java gwt maven

我有一个由GWT客户端和Tomcat服务器端组成的项目。一切都是使用maven设置的。但是,我希望将客户端的HTML和CSS文件(位于resources文件夹中)复制到服务器项目webapp目录中。我一直在看maven-dependency-plugin,但无法让它工作。我似乎找不到指定源和目标路径的方法。如果有人能指出我正确的方向,我会很感激。

感谢。

4 个答案:

答案 0 :(得分:3)

  <!-- 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>

答案 1 :(得分:0)

您应该在与public模块配置文件相同的级别创建 <module_name>.gwt.xml 文件夹。那就是:

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

这样,在gwt编译之后,所有资源都将转到src/main/webapp/<module_name>/。该文件夹是maven(通过插件)或您(手动)将用于创建最终webapp的文件夹。

希望这有帮助。
此致

答案 2 :(得分:0)

答案 3 :(得分:0)

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>