请知道是否可以在项目的POM文件中自动替换一个Maven插件?
上下文是我试图使用Scala编译器插件拦截Scala构建,为此我希望能够从命令行指定Scala编译器插件作为scalac
的参数(即不在POM文件中)。这可以使用最新版本的Scala Maven插件(称为scala-maven-plugin)使用其addScalacArgs
标志 - 请参见此处:http://davidb.github.com/scala-maven-plugin/apidocs/scala_maven/ScalaMojoSupport.html。但是,旧版本的插件(称为maven-scala-plugin)是不可能的,我需要在所有各种POM文件中添加参数(在处理大型的第三个文件时不是一个有吸引力的命题 - 党项目)。
我的想法是,如果我可以使用POM文件中的新版本自动替换旧版本的插件,那么我可以使用addScalacArgs
,一切都会顺利进行。我可能会做一些代码来做这件事(显然手动执行它并不比通过并添加参数更好),但似乎可能是支持Maven用例的那种东西。
具体而言,我正在尝试替换此插件:
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
...
</plugin>
这一个:
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
...
</plugin>
答案 0 :(得分:0)
您可以使用pom中的两个配置文件执行此操作。一个默认激活另一个不激活。然后,您可以轻松选择相应使用哪个配置文件。
例如,这是一篇同样精神的老帖子:How do I exclude a dependency in provided scope when running in Maven test scope?