在maven构建阶段复制文件

时间:2011-12-06 08:59:38

标签: java maven war

我的情况是:

  • 我有一个Maven项目,我在 / app / src / main / java 中有我的java类,我的资源在 / app / src / main / resources 中我在 / app / src / main / webapp
  • 中的webapp文件
  • 我在 /common/script.js
  • 中有一个javascript文件

现在我想要的是在maven的构建阶段将javascript文件包含(复制)到war文件中。确切地说,我希望 script.js 落在war存档的 / js / 目录中,就像放在 / app / src /中一样在开始构建之前,使用main / webapp / js

我需要这个在许多网络应用程序中共享一个版本的资源文件。

亲切的问候, Q值。

3 个答案:

答案 0 :(得分:5)

你可以做这样的事情,如记录here

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.1.1</version>
        <configuration>
          <webResources>
            <resource>
              <!-- this is relative to the pom.xml directory -->
              <directory>../common</directory>
              <targetPath>/js</targetPath>
            </resource>
          </webResources>
        </configuration>
      </plugin>
    </plugins>
  </build>
  ...
</project>

答案 1 :(得分:2)

您可以使用mojo copy-resources复制不在默认maven布局中或未在build / resources元素中声明的资源。

检查

"maven-resources-plugin"

答案 2 :(得分:1)

您可以使用maven-resources plugin将文件复制到所需位置。在战争建立之前或之后