在 Java 中以编程方式设置 maven 构建 属性 而无需编写插件?
Setting maven build property programmatically in Java without writing a plugin?
我需要定义一些要在 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 Plugin or the AntRun plugin在你的pom.xml中嵌入Groovy或ant代码。它们都可以与项目对象交互,这意味着它们可以操纵属性。但这并不容易,您的里程可能会有所不同。
我需要定义一些要在 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 Plugin or the AntRun plugin在你的pom.xml中嵌入Groovy或ant代码。它们都可以与项目对象交互,这意味着它们可以操纵属性。但这并不容易,您的里程可能会有所不同。