首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven maven-resources-plugin复制目标jar

Maven maven-resources-plugin复制目标jar
EN

Stack Overflow用户
提问于 2017-02-02 00:24:55
回答 2查看 1.7K关注 0票数 1

我正在尝试使用资源插件,目的是在构建后将目标目录中的jar复制到另一个目录(例如/ target / been )。

我可以看到资源是在进程开始时复制的,在jar构建之前,所以仔细阅读一下,我似乎需要在验证阶段运行它,即在jar构建之后。然而,这是不起作用的。复制其他文件,但不复制jar。

代码语言:javascript
复制
            <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <version>3.0.1</version>
            <executions>
                <execution>
                    <id>copy-resources</id>
                    <phase>validate</phase>
                    <goals>
                        <goal>copy-resources</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${project.build.directory}/runtime</outputDirectory>
                        <resources>
                            <resource>
                                <filtering>true</filtering>
                                <directory>${project.basedir}/target</directory>
                                <targetPath>${project.build.directory}/target/runtime</targetPath>
                                <includes>
                                    <include>*.jar</include>
                                </includes>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
        </plugin>
EN

回答 2

Stack Overflow用户

发布于 2017-02-02 00:46:28

代码语言:javascript
复制
`<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>3.0.0</version>
        <executions>
          <execution>
            <id>copy</id>
            <phase>package</phase>
            <goals>
              <goal>copy</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <artifactItems>
            <artifactItem>
              <groupId>junit</groupId>
              <artifactId>junit</artifactId>
              <version>3.8.1</version>
              <type>jar</type>
              <overWrite>false</overWrite>
              <outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>
              <destFileName>optional-new-name.jar</destFileName>
            </artifactItem>
          </artifactItems>
          <outputDirectory>${project.build.directory}/wars</outputDirectory>
          <overWriteReleases>false</overWriteReleases>
          <overWriteSnapshots>true</overWriteSnapshots>
        </configuration>
      </plugin>
    </plugins>
  </build>
  [...]
</project>`

请参考this,我已经用了很多次了,似乎做得很好。

票数 0
EN

Stack Overflow用户

发布于 2017-02-02 14:09:56

在您的插件定义中,资源复制的阶段被定义为验证。当此插件运行时,Jar不会构建。有关生命周期的更多信息,请参阅here

如果您将插件阶段更改为verify,则它会成功复制文件,如下所示。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41984702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档