【问题标题】:How to access Maven placeholders from a Maven Plugin?如何从 Maven 插件访问 Maven 占位符?
【发布时间】:2019-09-02 03:26:24
【问题描述】:

原来的问题

我正在尝试将我的部署系统自动化到我的网站,但我需要知道工件的实际名称。我使用的是 Github Pages,所以我没有后端脚本来搜索文件扩展名、名称字符串包含等。

我计划的解决方案

我即将创建一个 Maven 插件,并在构建期间导出最终的工件名称。

其他遇到的问题

为了实现我的解决方案,我必须在构建生命周期中访问占位符。但是,我找不到任何有关这样做的资源。

TL;DR;

如何从 Maven 插件访问 Maven 构建生命周期占位符?

【问题讨论】:

  • 你在说什么样的占位符?版本号?最终的工件名称通常是artifactId-version.extension
  • 谢谢你,但我怎样才能访问它?反正? (脚本、shell、现有插件、自己的插件、更省力)
  • 在 pom 中,你可以只读取 ${project.version} 之类的属性。在 maven 插件中,您可以注入 maven 项目对象。
  • 哦...真丢脸,我忘了...谢谢!

标签: java maven plugins build placeholder


【解决方案1】:

您无需开发自己的插件即可将项目部署到...任何地方。你可以使用Wagon Maven Plugin:

它允许您使用 wagon 将构建中的资源上传到远程位置。

有关支持的传输,请参阅 Maven Wagon

在其<configuration> 中,您可以使用<includes>**/${project.build.finalName}*</includes>(默认值:${artifactId}-${version}),它是the build element 的一个元素。请注意:

“finalName”这个词有点用词不当,[...]。例如,如果 maven-jar-plugin 被配置为为 jar 提供 testclassifier,那么上面定义的实际 jar 将构建为 my-project-1.0-test.jar

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-12
    • 2015-02-27
    • 1970-01-01
    • 1970-01-01
    • 2021-05-03
    相关资源
    最近更新 更多