javascript - 在 Maven 中编写脚本来设置项目属性

标签 javascript java maven scripting

我想在 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/

相关文章:

javascript - jQuery:在 document.ready() 和 window.load() 上执行函数

javascript - Node.Js/Electron 使用 mssql 模块将表单数据插入表中

javascript - 使用 RegExp 在 JavaScript 中拆分字符串,忽略方括号内的定界符

javascript - 用新节点替换 DOM 节点。

java - fileinputstream 的文件位置

java - 监听组件层次结构的关键事件

java - 在此系统 (mac) 上找不到 RPM 构建可执行文件 '/usr/bin/rpmbuild'

java - 打印二维锯齿状数组中的字符串组合

java - 如何从我的 Maven 构建中排除资源,packagingExcludes 不起作用

android - Maven编译错误: package R does not exist