在Java中以编程方式设置maven构建属性而不编写插件



我需要定义一些在maven插件配置(pom.xml(中使用的附加属性。使用Java代码以编程方式实现这一点吗?exec:java的目标似乎是直接在maven进程中运行代码。有什么方法可以利用这一点吗?

我需要带有正斜杠的项目basedir属性,这样我就可以在wildfly CLI脚本资源中使用它来设置wildfly数据库资源。数据库资源应该指向一个绝对路径,即构建输出目录或basedir。

这是脚本:

/subsystem=datasources/data-source=MyDS:add(
jndi-name=java:jboss/datasources/MyDS,
driver-name=h2,connection-url="jdbc:h2:file:${basedir}/db;
TRACE_LEVEL_SYSTEM_OUT=0",user-name=sa,
validate-on-match=true,background-validation=false,
driver-class=org.h2.Driver)

没有简单的方法可以做到这一点,afaik。Maven是一个很好的工具,只要你尊重它的工作方式,如果你不尊重它,你就会遇到麻烦。也许你可以在你的问题中添加更多的细节,这样我们就能了解你真正需要什么。

我能想到的是使用GMaven插件或AntRun插件在pom.xml中嵌入Groovy或ant代码。它们都可以与项目对象交互,这意味着它们可以操作属性。但这并不容易,你的里程数可能会有所不同。

最新更新