3个简单步骤即可测试Java 8

即将发布的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安装”部分,取消自动选择安装并添加名称和路径。

Java8安装

2.设置Jenkins Multi-Build

您可以为现有项目设置另一个Jenkins Job,但是这样做的缺点是,如果您要在多个JDK上进行测试并拥有多个项目,那么最终需要管理许多Jenkins Jobs。 如果您只有一份工作,那么这是一个很好的解决方案。

我更喜欢做的是具有多构建配置,这样,任何JDK版本都可能使整个构建失败。 第一步是创建一个新的多版本Jenkins Job。

Java8CreateBuild

除了您的Jenkins Job的常规设置之外,您还需要转到Job的配置的Configuration Matrix部分,然后单击add axis然后选择JDK。 现在,您可以在要使用的JDK上打勾。 在这里,我选择了JDK 7构建和JDK 8构建。

Java8SetConfig

您可能还需要禁用在Java 8下不起作用的插件,例如Jacoco。

3.报告错误

现在,您可以运行您的构建,并查看它们是否在不同的Java版本下通过或失败,在我的示例中,该构建在Java 7下通过但在Java 8下失败:

Java8Result

此时,您需要弄清楚测试失败的原因。 也许这是代码中的错误,在这种情况下,您可以立即修复它,并确信在Java 8发行后您的应用程序将运行。 可能是Java 8错误:在这种情况下,请在问题跟踪器上报告该错误,或​​通过电子邮件将相应的openjdk 邮件列表发送给。 如果您需要有关此方面的帮助,也可以通过电子邮件将其发送给accept-openjdk@googlegroups.com 。 如果成功,也请给我们发送电子邮件-非常高兴听到反馈。

参考: Insightful Logic博客中的JCG合作伙伴 Richard Warburton通过3个简单步骤测试Java 8 。

翻译自: https://www.javacodegeeks.com/2013/07/testing-java-8-in-3-easy-steps.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/368207.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php接收get参数false是字符串,php解析url (parse_url) 参数成数组 (parse_str)

php解析url (parse_url) 参数成数组 (parse_str)(1)parse_url (PHP 4, PHP 5) — 解析 URL,返回其组成部分,函数原型如下:mixed parse_url ( string $url [, int $component -1 ] )本函数解析一个 URL 并返回一个关联数组,包含在…

父类div高度适应子类div

父类div高度适应子类div 通常有许多div的高度由子类的高度决定父类的高度,所以需要父类div要适应子类div的高度,一般情况父类的高度可以直接设置成“auto”即可。 在有的情况下,子类div会撑破父类div. 所以需要走一些调整。通常有3种方法对…

Android - RecyclerView

0.添加引用 compile com.android.support:recyclerview-v7:23.4.0 命名空间&#xff1a; android.support.v7.widget.RecyclerView android.support.v7.widget.LinearLayoutManager 1.首先添加控件 <android.support.v7.widget.RecyclerViewandroid:id"id/activity_re…

jenkins jar包上传maven仓库

1 Jenkins 编译后部署至 Maven 仓库jenkins编译后构件&#xff08;如&#xff1a;jar包&#xff09;部署至maven仓库需修改以下内容&#xff1a;maven 仓库配置&#xff1b;项目 pom 文件&#xff1b;本地仓库的 settings.xml 内容&#xff1b;jenkins goals 修改1&#x…

Java文件合并变得语义化

与任何程序员交谈&#xff0c;并询问他应该如何进行合并&#xff1a;“它应该理解代码&#xff0c;对其进行解析&#xff0c;然后根据结构进行合并” –他很可能会说。 而这恰恰是SemanticMerge for Java所做的&#xff1a;它解析要合并的文件&#xff08;加上祖先或“文件在更…

eval函数

#! /usr/bin/env python# -*- coding: utf-8 -*-# __author__ "Deakin"# Email: 469792427qq.com# Date: 2018/1/14#1. 运行程序输出第一级菜单#2. 选择一级菜单某项&#xff0c;输出二级菜单&#xff0c;同理输出三级菜单#3. 菜单数据保存在文件中#4. 让用户选择是…

KnockoutJS-快速入门

虽然在WPF中接触过MVVM模式&#xff0c;可是刚开始在Web中接触到Knockout.JS让我大吃一惊&#xff0c;简化了好多工作量&#xff0c;原来可能需要一大堆的JS脚本完成的工作量&#xff0c;被释放许多。接触KnockoutJS一年多了&#xff0c;在好多个项目中也用到过&#xff0c;虽然…

几道web前端练习题目

在 HTML 语言中&#xff0c;以下哪个属性不是通用属性&#xff1f;A]<class>B]<title>C]<href>D]<style> 在线练习&#xff1a;http://hovertree.com/tiku/bjaf/qi1g37nf.htm 在 CSS 样式定义中&#xff0c;以下哪种 RGB 颜色值是 Web 安全色&#xf…

php如何导入数据,““php中如何将execl的数据导入到数据库中

php中如何将execl的数据导入到数据库中1.使用PHPExcel Parser Pro&#xff0c;但是这个软件为收费软件&#xff1b;2.可EXCEL表保存为CSV&#xff0c;然后通过phpmyadmin或者SQLyog导入&#xff0c;SQLyog导入的方法为&#xff1a;将EXCEL表另存为CSV形式&#xff1b;打开SQLyo…

Spring MVC错误处理流程

使用Spring MVC可以通过三种方式处理异常流&#xff0c;其目的是拦截任何应用程序异常&#xff0c;并向用户提供友好而信息丰富的视图。 1.在web.xml文件中使用error-page标记&#xff1a; 这是servlet规范驱动的方法&#xff0c;其中基于HTTP响应代码或异常类型来拦截从应用程…

Busybox下tftp命令使用详解

参数说明&#xff1a;-l 是local的缩写&#xff0c;后跟存在于Client的源文件名&#xff0c;或下载Client后 重命名的文件名。 -r 是remote的缩写&#xff0c;后跟Server即PC机tftp服务器根目录中的源文 件名&#xff0c;或上传Se…

php 获取sql字段名,php – 使用DISTINCT和UNION在SQL查询中获取字段名称

我有以下查询&#xff1a;SELECT DISTINCT(uniq)FROM(SELECT sex AS uniq FROM type4UNIONSELECT fason AS uniq FROM type4UNIONSELECT color AS uniq FROM type4UNIONSELECT size AS uniq FROM type4) AS Temp它运作得很好,它返回&#xff1a;[uniq] > some unique value是…

OC学习笔记——基础控件篇

因为之前做iOS开发用的都是swift语言&#xff0c;没有用过oc&#xff0c;本篇博客整理一下UIKIt中组件基于oc的使用&#xff0c;顺便把每个组件在秋招中遇到的问题整理一下。 UIView的使用 UIView继承链&#xff1a;NSObject->UIResponder->UIView UIView生命周期&…

大数据开源安全

在安全性方面从未有&#xff08;恕我直言&#xff09;已经足够了开源解决方案和布鲁斯已经撰写了有关这几个 时间在过去 &#xff0c;而且也没有必要再次改写参数。 现在&#xff0c;随着市场上“ NoSQL”和“大数据”开源趋势的发展&#xff0c;安全终于有了交集……如果我愿…

如何在一个页面添加多个不同的kindeditor编辑器

kindeditor官方下载地址&#xff1a;http://kindeditor.net/down.php &#xff08;入门必看&#xff09;kindeditor官方文档&#xff1a;http://kindeditor.net/doc.php &#xff08;入门必看&#xff09;Kindeditor编辑器初始化参数文档&#xff1a;http://kindeditor.net/doc…

JSONArray.fromObject不执行且不报错问题的解决

今天在写javaweb工程的时候需要向前台传json格式的数据&#xff0c;用到了json-lib-2.4-jdk15.jar等一系列包&#xff0c;然而却出现如下状况&#xff1a; CityBean是一个javaBean&#xff0c;我们看到&#xff0c;控制台只打印出了list的内容&#xff0c;而下面的两个却没能打…

爬虫-scrapy

阅读目录 一 介绍二 安装三 命令行工具四 项目结构以及爬虫应用简介 五 Spiders六 Selectors七 Items八 Item Pipeline九 Dowloader Middeware十 Spider Middleware十一 settings.py十二 爬取亚马逊商品信息一 介绍 Scrapy一个开源和协作的框架&#xff0c;其最初是为了页面抓取…

swagge php token,swagger在thinkphp6的使用方式

/*** OA\Get(path"/api/article",* tags{"文章管理"},* summary"文章列表",* OA\Parameter(name"token", in"header", description"token", OA\Schema(type"string", default"123456")),* OA…

Java垃圾回收(4)

G1&#xff1a;垃圾优先 G1收集器是热点JVM中要实现的最新收集器。 自Java 7 Update 4以来&#xff0c;它一直是受支持的收集器。OracleGC团队也公开表示&#xff0c;他们对低暂停GC的希望是完全实现的G1。 这篇文章来自我之前的垃圾收集博客文章&#xff1a; 热点GC概述 。 …

Html5 冒泡排序演示

本文通过一个简单的小例子&#xff0c;简述冒泡算法在B/S中的简单使用&#xff0c;仅供学习分享使用&#xff0c;如有不足之处&#xff0c;还请指正。 概述 冒泡排序&#xff08;Bubble Sort&#xff09;&#xff0c;是一种计算机科学领域的较简单的排序算法。 它重复地走访…