当前位置: 首页 > news >正文

Apache发布NetBeans 10.0,增强对JDK 11的支持

Apache软件基金会最近发布了NetBeans 10.0,主要特性包括增强对JDK 11的支持、添加对JUnit 5的支持以及重新集成了PHP、JavaScript和Groovy模块。在路线图上,Apache规划在2019年发布两个版本,将包括对JDK 12和JDK 13的支持。

Apache软件基金会最近发布了NetBeans 10.0(incubating),主要特性包括增强对JDK 11的支持、添加对JUnit 5的支持以及重新集成了PHP、JavaScript和Groovy模块。

NetBeans是用Java语言编写的,最初是为Java社区而设计的,它是一个跨平台的支持多语言的IDE,包括对HTML5、PHP和C/C++语言的支持。NetBeans最初被称为Xelfi for Java IDE,它是由捷克共和国查尔斯大学的一群数学和物理专业的学生于1996年创建的。在2000年6月,NetBeans最终成为Sun Microsystems公司的旗舰IDE并开源。

在Oracle最初提议将NetBeans捐赠给Apache的一年后,在Apache的孵化过程中,于2017年9月进行了第一次代码捐赠。NetBeans 10是Oracle第二次代码捐赠的一部分。

NetBeans的转交过程涉及将cluster从捐赠的Oracle代码重新集成到Apache中。这种代码的重新集成对于许可证问题是必要的,它需要仔细阅读所有源代码,以确保Apache能够合法地发布这些代码。例如,在NetBeans 9.0中重新集成了platformidejava cluster,这是Apache发布的初始NetBeans版本,并包含了对Java 9和Java 10的支持。

更多的特性细节可以参考NetBeans的新特性和值得关注的变更页面。

NetBeans可以在GitHub的源仓库下载和构建。

JDK 11

对JDK 11的增强支持包括:

  • 为JDK 11更新了nb-javadoc模块;
  • 根据JEP-320,移除Java EE和CORBA模块;
  • 按照JEP-335,废弃Nashorn JavaScript引擎;
  • 按照JEP-323,增加对隐式类型lambda表达式的var支持。

JUnit 5

NetBeans增加了对JUnit 5的支持,但是由于JUnit 4和JUnit 5之间的差异,在使用Apache Maven和Apache Ant构建项目时,搭建过程是不同的。默认情况下,NetBeans 10在用Maven构建的项目上生成新测试时会使用JUnit 5。IDE生成新的测试,并将JUnit 5依赖项添加到pom.xml文件中。Ant提供了JUnit Launcher,这是一个Ant任务,用于帮助调用JUnit 5编写的测试。

另一种可选方案是对Maven和Ant项目都使用Console Launcher,这是JUnit提供的Java命令行应用程序。它是一个可执行的Jar文件,如下面的示例所示,包含多种可配置选项:

java -jar junit-platform-console-{ version }.jar --scan-class-path --class-path target/classes 

\"\"

J. Steven Perry是一名独立的软件开发人员,同时是Makoto Consulting Group的拥有者和首席咨询师,他发布了一个四分半钟的视频,介绍了如何使用Console Launcher。

2019的路线图

按照路线图,Apache在2019年会提交两次版本。NetBeans 11计划在3月份发布,支持JDK 12和Java EE/Jakarta EE cluster的重新集成。NetBeans 12计划在9月份发布,支持JDK 13和C/C++ cluster的重新集成。C/ C++代码目前正处于Oracle的捐赠过程中。

参考资源

  • InfoQ撰写的Oracle将NetBeans交给了Apache基金会(2016年9月19日);
  • InfoQ撰写的NetBeans第一部分代码提交Apache(2017年9月19日);
  • Apache编写的NetBeans简史。

查看英文原文:Apache Releases NetBeans 10.0 Featuring Enhanced Support for JDK 11

相关文章:

  • Shadow DOM 内部构造及如何构建独立组件
  • 打印二叉树某一层次的值(重点)
  • 单例模式中用volatile和synchronized来满足双重检查锁机制
  • getName和getSimpleName方法一般使用
  • 博客迁移:https://blog.llyweb.com
  • 20141102-微信.NET-笔记
  • Java知识体系梳理
  • java 一些容易忽视的小点-数据类型和运算符篇
  • 设计模式--代理(Proxy)模式
  • 系统设计(系列二)--现上问题整理(云崩溃和服务不可用)
  • 医疗行业邮件服务器架设方案
  • Python 代码片段收藏
  • IOS--UISwitch的使用方法
  • Netty防止内存泄漏措施
  • GraphGL教程
  • python3.6+scrapy+mysql 爬虫实战
  • 【附node操作实例】redis简明入门系列—字符串类型
  • DataBase in Android
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Java知识点总结(JavaIO-打印流)
  • PHP面试之三:MySQL数据库
  • scala基础语法(二)
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • SQLServer插入数据
  • tensorflow学习笔记3——MNIST应用篇
  • 回顾2016
  • 简单易用的leetcode开发测试工具(npm)
  • 驱动程序原理
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 一文看透浏览器架构
  • ionic入门之数据绑定显示-1
  • 交换综合实验一
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (附源码)ssm码农论坛 毕业设计 231126
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • *1 计算机基础和操作系统基础及几大协议
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .net 验证控件和javaScript的冲突问题
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .NET企业级应用架构设计系列之开场白
  • @Import注解详解
  • @selector(..)警告提示
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题
  • [AX]AX2012 R2 出差申请和支出报告
  • [BT]BUUCTF刷题第8天(3.26)
  • [BT]BUUCTF刷题第9天(3.27)
  • [CF703D]Mishka and Interesting sum/[BZOJ5476]位运算
  • [hadoop读书笔记] 第十五章 sqoop1.4.6小实验 - 将mysq数据导入HBASE
  • [json]定义、读写