即将发布的Java 8版本为Java开发人员带来了许多新功能,但是升级时始终存在代码破裂的风险。 我们都记得Java 7发行时有一系列非常严重的错误 。
当然,我们所有人都可以帮助避免在Java 8中出现相同的问题。我今天要介绍的方法是使用现有的Continuous Integration在Java 8上运行测试。如果您没有持续集成服务器或考试入狱,不及格,不收取200英镑 。 我将使用开源hawkshaw内存整形器作为如何通过Maven项目执行此操作的示例。
1.在CI服务器上安装JDK 8
您可以从https://jdk8.java.net/download.html下载Java 8的早期访问版本。 然后,您必须像安装Continuous Integration Server本身上的任何Java版本一样安装它。
您还需要将新的JDK 8安装添加到jenkins,以便其知道要查找JDK。 从主屏幕转到“ 管理Jenkins和配置系统” 。 现在,您需要查找“ JDK安装”部分,取消自动选择安装并添加名称和路径。
2.设置Jenkins Multi-Build
您可以为现有项目设置另一个Jenkins Job,但是这样做的缺点是,如果您要在多个JDK上进行测试并拥有多个项目,那么最终需要管理许多Jenkins Jobs。 如果您只有一份工作,那么这是一个很好的解决方案。
我更喜欢做的是具有多构建配置,这样,任何JDK版本都可能使整个构建失败。 第一步是创建一个新的多版本Jenkins Job。
除了您的Jenkins Job的常规设置之外,您还需要转到Job的配置的Configuration Matrix部分,然后单击add axis然后选择JDK。 现在,您可以在要使用的JDK上打勾。 在这里,我选择了JDK 7构建和JDK 8构建。
您可能还需要禁用在Java 8下不起作用的插件,例如Jacoco。
3.报告错误
现在,您可以运行您的构建,并查看它们是否在不同的Java版本下通过或失败,在我的示例中,该构建在Java 7下通过但在Java 8下失败:
此时,您需要弄清楚测试失败的原因。 也许这是代码中的错误,在这种情况下,您可以立即修复它,并确信在Java 8发行后您的应用程序将运行。 可能是Java 8错误:在这种情况下,请在问题跟踪器上报告该错误,或通过电子邮件将相应的openjdk 邮件列表发送给。 如果您需要有关此方面的帮助,也可以通过电子邮件将其发送给accept-openjdk@googlegroups.com 。 如果成功,也请给我们发送电子邮件-非常高兴听到反馈。
翻译自: https://www.javacodegeeks.com/2013/07/testing-java-8-in-3-easy-steps.html