【问题标题】:scripting in Maven to set project properties在 Maven 中编写脚本以设置项目属性
【发布时间】:2018-12-06 09:44:06
【问题描述】:

我想在 Maven 构建的早期阶段使用脚本派生一些项目属性。

  • 除了groovy-maven-plugin 之外,还有其他方法可以在 Maven 编译的给定阶段执行脚本吗?对于我想做的事情来说,这似乎是相当重量级的。

  • Java 8 似乎内置了 JavaScript 引擎,有没有办法替代它?

更新

更多细节:

  • 我们想要设置派生自${project.version} 的其他属性,然后使用这些属性并在生成的(重新)源中替换它们的占位符。例如,从${project.version}10.5.2.97 我们希望将shortVersion 派生为10.5,等等。

更新 2

我找到了满足我需求的nashorn-maven-plugin。不幸的是,当 Maven 与 Java 10 一起运行时,它会中断。

【问题讨论】:

  • 做这样的事情是不寻常的。你到底想达到什么目标?
  • 您是否需要比通过maven resource plugin 过滤更复杂的东西?它不提供脚本,但它允许您使用依赖于配置文件的值构建属性
  • @MarioTrucco:我需要一些字符串操作,从地图中挑选一个,并检查文件是否存在。
  • @wilx 你能更详细地描述你想要实现的目标吗?

标签: javascript java maven scripting


【解决方案1】:

构建助手 Maven 插件能够根据正则表达式设置属性。这可能涵盖您需要的情况:

https://www.mojohaus.org/build-helper-maven-plugin/regex-property-mojo.html

关于 Nashorn:我会小心使用不受欢迎的东西。如果您确实需要在现有插件之外调整构建,您最好编写自己的 Maven 插件。

【讨论】:

    猜你喜欢
    • 2021-08-08
    • 1970-01-01
    • 1970-01-01
    • 2019-05-01
    • 2021-08-15
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多