我一直想知道是否可以根据一种特征模型(http://en.wikipedia.org/wiki/Feature_model)动态生成子poms(通过XSLT或类似的东西)。
答案 0 :(得分:0)
如果您希望它们成为反应堆构建的一部分,则不是。
在任何插件开始运行之前,reactor(所有项目的列表和针对它们运行的插件)必须是完整且确定的。
这就是为什么(XPath)/project/parent/groupId
,/project/parent/artifactId
,/project/parent/version
,/project/groupId
,/project/artifactId
和/project/version
中的属性替换不是允许,因为这将导致不确定的构建计划。
但是,如果你想通过XSLT创建一堆项目,然后在随后的反应器中(读取Maven调用)用它们做些什么,那就行了。
您可以使用Mojo's XML Maven Plugin为您执行XSLT,然后使用Maven Invoker Plugin分叉一个新的反应堆,但您将处于一个中途停留的房子,并坚持您的生命周期阶段配置调用者。