在我的Maven构建中,我使用maven-processor-plugin
生成这样的JPA元模型
<plugin>
<groupId>org.bsc.maven</groupId>
<artifactId>maven-processor-plugin</artifactId>
<version>2.2.4</version>
<executions>
<execution>
<id>process</id>
<goals>
<goal>process</goal>
</goals>
<phase>generate-sources</phase>
....
</execution>
</plugin>
现在我想跳过基于属性的元模型生成,比如这个
$ mvn -Dspeed.up.build.from.eclipse=true
不幸的是,maven-processor-plugin
并不像某些插件那样支持<skip>${speed.up.build.from.eclipse}</skip>
配置代码。
我可以将我的插件放在个人资料中,然后根据我的属性激活它。但后来我需要以某种方式否定财产的价值......
所以我需要:
有什么好方法可以实现它吗?如果是,怎么样?
答案 0 :(得分:3)
从documentation判断,确实没有skip
属性。
在这种情况下,可能的解决方案是使用将阶段设置为none
的hack来禁用插件执行。您将定义2 profiles
speed.up.build.from.eclipse
,可将自定义属性maven-annotation-plugin.phase
设置为none
; 然后,您将使用自定义属性作为插件配置中的阶段。
请注意,这是一个黑客攻击,因为这是一个未记录的功能。
另一种解决方案(我实际上会推荐)是提出添加该功能的拉取请求。 The code is hosted on GitHub因此您可以轻松地对其进行分叉,修补并发出拉取请求。同时,您可以使用自定义插件,当合并请求时,您可以删除自定义插件。