Maven利用maven-antrun-plugin插件拷贝文件 copy
今天在做Docke镜像的时候想要把编译出来 的Jar包自动复制到指定目录下,网络找到了maven-antrun-plugin 这个插件,在这个过程中遇到了几个问题,现记录下来,记录时候 2021-12-13。完整代码如下:<!--docker需要的jar的复制操作--><plugin><artifactId>maven-antrun-plugin</art
今天在做Docke镜像的时候想要把编译出来 的Jar包自动复制到指定目录下,网络找到了 maven-antrun-plugin 这个插件,在这个过程中遇到了几个问题,现记录下来,记录时候 2021-12-13。
完整代码如下:
<!--docker需要的jar的复制操作-->
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>compile</id>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<copy todir = "src/main/docker"
file = "target/${project.artifactId}-${project.version}.${project.packaging}"></copy>
</target>
</configuration>
</execution>
</executions>
</plugin>
因为maven-antrun-plugin插件的版本在不全的更新,所以一些命令也不停的更新,
第一,我添加maven-antrun-plugin之后,一直提示提示错误,说找不到这个插件,通过排查,发现是添加了aliyun 镜像造成的,把下面这段注解了就可以找到 maven-antrun-plugin插件了。
第二, 由于maven-antrun-plugin,之前的任务是写在<tasks>节点下,但在3.0.0版本之后,tasks 已经失效,需要切换到<target>中,3.0.0以下版本,还是可以使用tasks,具体请参考 Apache Maven AntRun Plugin – antrun:run,
<target> | PlexusConfiguration | 1.5 | The XML for the Ant target. You can add anything you can add between <target> and </target> in a build.xml. |
<tasks> | PlexusConfiguration | - | Deprecated. Use target instead. For version 3.0.0, this parameter is only defined to break the build if you use it! |
所发一定要看官网文档。
pom.xml中配置maven-antrun-plugin 的模板 如下,
<project>
[...]
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<phase> <!-- a lifecycle phase --> </phase>
<configuration>
<target>
<!--
Place any Ant task here. You can add anything
you can add between <target> and </target> in a
build.xml.
-->
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
</project>
支持的命令,参考官方连接:
Apache Maven AntRun Plugin – Usage
在这个过程中还有一个疑问没有解决,我的IDE 提示goal 里面设置run 的时候显示红色,也就是有错误,但不影响使用,官网也是说这个goal 里面只能设置run,The maven-antrun-plugin has only one goal, run. 有哪位小伙伴能帮忙解释一下,我这里为什么会显示为error?
更多推荐
所有评论(0)