mvn clean package,我想把创建的jar复制到当前目录

Zug*_*dud 5 maven

我想更新我的 pom.xml 以便当有人使用:mvn clean package 时,将生成的 jar 文件复制到当前目录。我正在查看 maven 插件复制资源,但我不确定如何指定当前目录,是否有与操作系统无关的方法来执行此操作?如果可能,希望它也适用于 Windows

<plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>2.4.3</version>
                    <executions>
                        <execution>
                            <id>copy-resources</id>
                            <!-- here the phase you need -->
                            <phase>validate</phase>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <configuration>
                                <outputDirectory>${basedir}</outputDirectory>
                                <resources>
                                    <resource>
                                        <directory>target/Test-0.0.1-SNAPSHOT.jar</directory>
                                        <filtering>true</filtering>
                                    </resource>
                                </resources>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
Run Code Online (Sandbox Code Playgroud)

谢谢

Dev*_*Dev 4

如果您的意思是当前目录,${project.basedir}那么您可以轻松地做到这一点。只需确保您使用作为文件名部分,因为它将正确获取设置为(默认值)${build.finalName}.jar的项目的主要工件。<packaging>jar

    <execution>
      <id>copy-resources</id>
         <!-- here the phase you need -->
      <phase>validate</phase>
      <goals>
        <goal>copy-resources</goal>
      </goals>
      <configuration>
      <outputDirectory>${project.basedir}</outputDirectory>
      <resources>
        <resource>
          <!-- Get main artifact -->
          <directory>target/${build.finalName}.jar</directory>
          <!-- Don't filter binary files -->
          <filtering>false</filtering>
        </resource>
      </resources>
      </configuration>
    </execution>
Run Code Online (Sandbox Code Playgroud)

如果您想执行当前工作目录,您应该能够使用${user.dir}asoutputDirectory