在遗留的系统项目中由于采用比较旧的JDK1.5,导致很多比较新的插件和maven版本不能使用,针对这种情况,可以通过使用antrun插件来指定版本的JDK和maven来运行对应的插件。
原理为:
通过运行两次maven,两次maven所使用的jdk和版本都不同,而所使用的项目和pom文件相同。具体的pom文件使用格式如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>ant-maven</id>
<phase>package</phase>
<configuration>
<tasks>
<exec executable="/bin/bash">
<env key="JAVA_HOME" value="your java home" />
<arg value="your maven execute program" />
<arg value="-X“ />
<arg value="your maven execute goal />
<arg value="-f" />
<arg value ="${basedir}/pom.xml" />
</exec>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
此外为了在第一次运行的时候不运行第二次需要运行的插件,可以通过指定该插件的phase为none进行禁用。
通过这种方式达到使用不同版本和环境的插件的问题。