原文链接 译者:carvendy
jdk1.4项目使用JDK1.5构建指南
你自从Maven 2.2.0 需要 JDK 1.5 来执行,很多用户他们的项目依然使用java 1.4或者更老的版本,他们将需要做一些调整。 理想的情况下,你可以通过使用JDK 1.4编译和测试来解决这个问题,提供适当的工具链配置。无论如何,当前版本编译插件(2.0.2)不是工具链能做的,所以构建一个妥当的构建使用 Maven 2.2.0来构建java面板,比1.5还要老的需要更多其他的配置。
第一步:源码和目标的配置
第一步支持比JDK 1.5更老的在你构建需要的:源码和目标 的API版本为你编译插件而配置。自从JDK 1.5以上 依然可以兼容老的jdk生成class文件,使用默认的编译插件配置将提供项目工件在技术上兼用比1.5更老的版本。 这很好,直到有人偷偷将**String.contains( “foo” )**到代码库。如果发生了,你的项目将构建成功,和生成1.4编译库。但是试着去执行你的代码在1.4JVM中,你将理解为什么编译配置是不足够的。构造一个构建进程设定了JVM 1.4当构建工具依赖的JVM 1.5以上的,与此同时依然确保构建结果是安全的在JVM 1.4上运行的,我们需要可以验证项目代码,与一个给定的java API规范版本的兼容性。
进入动物嗅探
幸运的是,这里一个在dev.java.net的项目叫做动物嗅觉所做的正是我们需要的。这个项目可以用java一系列的 API来验证代码库的兼容性。更好的是,它支持Maven 2.x 插件给用户方便地整合和检查他们的build节点。用JDK 1.4来验证你代码库的兼容性,你容易地让动物嗅觉插件使用:
<signature>
<groupId>org.jvnet.animal-sniffer</groupId>
<artifactId>java1.4</artifactId>
<version>1.0</version>
</signature>
样本配置
放到一起,跟着例子展示给你怎么样可以确定你的项目将运行在 1.4 JVM
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.4</source>
<target>1.4</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.jvnet</groupId>
<artifactId>animal-sniffer</artifactId>
<version>1.2</version>
<executions>
<execution>
<id>check-java-version</id>
<phase>compile</phase>
<goals>
<goal>check</goal>
</goals>
<configuration>
<signature>
<groupId>org.jvnet.animal-sniffer</groupId>
<artifactId>java1.4</artifactId>
<version>1.0</version>
</signature>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/100144.html