我尝试配置maven ant插件,将构建的工件复制到自定义位置:
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<copy verbose="true"
file="target/${project.build.finalName}.${project.packaging}"
tofile="${user.home}/tmp/test/${project.build.finalName}.${project.packaging}"/>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
Run Code Online (Sandbox Code Playgroud)
这个工作正常,只要包装是标准包装之一......但如果项目的包装是"捆绑"(生成.jar),那么$ {project.packaging}变量就是"捆绑"并且实际文件以".jar"结尾=复制失败.
如何获取放入输出目录的文件的"真实"名称?
在ant build.xml中使用:
${project.build.directory}/${project.artifactId}-${project.version}.jar
Run Code Online (Sandbox Code Playgroud)
没有办法可靠地做到这一点。例如,一个 POM 可以有多个工件作为结果(二进制 JAR、源 JAR、测试二进制 JAR、测试源 JAR)。其中哪一项是正确的复制项?
可能的解决方案:
${project.packaging}用。。。来代替jar。在大多数情况下应该有效。| 归档时间: |
|
| 查看次数: |
9003 次 |
| 最近记录: |