我想在 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 插件能够根据正则表达式设置属性。这可能涵盖您需要的情况:
https://www.mojohaus.org/build-helper-maven-plugin/regex-property-mojo.html
关于 Nashorn:我会谨慎使用不流行的东西。如果您确实需要调整现有插件之外的构建,那么您最好编写自己的 Maven 插件。
关于javascript - 在 Maven 中编写脚本来设置项目属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51063733/