【问题标题】:Copy a file during maven build phase在 Maven 构建阶段复制文件
【发布时间】:2011-12-06 08:59:37
【问题描述】:

我的情况是:

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

现在我想要在 maven 的构建阶段将 javascript 文件包含(复制)到 war 文件中。准确地说,我希望 script.js 位于战争档案的 /js/ 目录中,就像它被放置在 /app/src/ 中一样main/webapp/js 在开始构建之前。

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

亲切的问候, 问。

【问题讨论】:

标签: java maven war


【解决方案1】:

您可以按照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>

【讨论】:

  • 这不会排除默认资源目录/src/main/resources吧?
  • @Queequeg。不会。这将包括默认 resources 文件夹中不存在的其他资源。
【解决方案2】:

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

检查

"maven-resources-plugin"

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2013-11-15
      • 1970-01-01
      • 2020-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-11
      • 2013-10-10
      • 2020-07-07
      相关资源
      最近更新 更多