Maven:如何将工件复制到特定目录?

2022-09-01 18:49:27

“安装”目标将工件复制到目标目录和本地存储库。

我怎么能告诉Maven也把它复制到一个给定的目录(比如JBoss的部署目录)。


答案 1

maven-dependency-plugin 的目标副本可以执行所需的操作,请参阅示例

但是,将任何内容复制到目标目录之外(或确切地说)不是一个好主意 - 特别是如果此类操作附加到构建阶段,因为它会引入构建的意外副作用,有时甚至会失去可重复性。${project.build.directory}

正如@Andreas_D所指出的,对于JBoss的部署目的,有更好的选择;同样用于部署到其他应用程序服务器。


答案 2

根据 http://maven.apache.org/plugins/maven-dependency-plugin/examples/copying-artifacts.html 您可以将刚刚构建的项目复制到特定目录:

<project>
    [...]
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>2.8</version>
          <executions>
            <execution>
              <id>copy-installed</id>
              <phase>install</phase>
              <goals>
                <goal>copy</goal>
              </goals>
              <configuration>
                <artifactItems>
                  <artifactItem>
                    <groupId>${project.groupId}</groupId>
                    <artifactId>${project.artifactId}</artifactId>
                    <version>${project.version}</version>
                    <type>${project.packaging}</type>
                  </artifactItem>
                </artifactItems>
                <outputDirectory>some-other-place</outputDirectory>
              </configuration>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </build>
    [...]
  </project>

推荐