gpt4 book ai didi

maven - 如何从 maven 获取实际的输出文件名

转载 作者:行者123 更新时间:2023-12-01 07:42:37 25 4
gpt4 key购买 nike

我尝试配置 maven ant 插件以将构建的 Artifact 复制到自定义位置:

<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>

这工作正常,只要包装是标准包装之一......但如果项目的包装是“捆绑”(生成一个 .jar),那么 ${project.packaging} 变量是“捆绑”实际文件以“.jar”结尾=复制失败。

如何获得放入输出目录的文件的“真实”名称?

最佳答案

没有办法可靠地做到这一点。例如,一个 POM 可以有多个 Artifact 作为结果(二进制 JAR、源 JAR、测试二进制 JAR、测试源 JAR)。其中哪一个是正确的复制?

可能的解决方案:

  • ${project.packaging} 替换 jar 。在大多数情况下应该工作。
  • 使用文件集而不是硬编码的文件名,让 Ant 根据模式找出名称。
  • 关于maven - 如何从 maven 获取实际的输出文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10848436/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com