我想更新我的pom.xml,以便当有人使用:mvn clean package时,生成的jar文件将被复制到当前目录。我正在查看maven插件copy-resources,但我不确定如何指定当前目录,是否有操作系统不可知的方法来执行此操作?如果可能的话,希望它也可以在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>
由于
答案 0 :(得分: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>
如果您想要执行当前工作目录,则可以使用${user.dir}
作为outputDirectory