\n\nApache软件基金会最近发布了NetBeans 10.0,主要特性包括增强对JDK 11的支持、添加对JUnit 5的支持以及重新集成了PHP、JavaScript和Groovy模块。在路线图上,Apache规划在2019年发布两个版本,将包括对JDK 12和JDK 13的支持。
\n
Apache软件基金会最近发布了NetBeans 10.0(incubating),主要特性包括增强对JDK 11的支持、添加对JUnit 5的支持以及重新集成了PHP、JavaScript和Groovy模块。
\nNetBeans是用Java语言编写的,最初是为Java社区而设计的,它是一个跨平台的支持多语言的IDE,包括对HTML5、PHP和C/C++语言的支持。NetBeans最初被称为Xelfi for Java IDE,它是由捷克共和国查尔斯大学的一群数学和物理专业的学生于1996年创建的。在2000年6月,NetBeans最终成为Sun Microsystems公司的旗舰IDE并开源。
\n在Oracle最初提议将NetBeans捐赠给Apache的一年后,在Apache的孵化过程中,于2017年9月进行了第一次代码捐赠。NetBeans 10是Oracle第二次代码捐赠的一部分。
\nNetBeans的转交过程涉及将cluster从捐赠的Oracle代码重新集成到Apache中。这种代码的重新集成对于许可证问题是必要的,它需要仔细阅读所有源代码,以确保Apache能够合法地发布这些代码。例如,在NetBeans 9.0中重新集成了platform、ide和java cluster,这是Apache发布的初始NetBeans版本,并包含了对Java 9和Java 10的支持。
\n更多的特性细节可以参考NetBeans的新特性和值得关注的变更页面。
\nNetBeans可以在GitHub的源仓库下载和构建。
\nJDK 11
\n对JDK 11的增强支持包括:
\n- \n
- 为JDK 11更新了nb-javadoc模块;\n
- 根据JEP-320,移除Java EE和CORBA模块;\n
- 按照JEP-335,废弃Nashorn JavaScript引擎;\n
- 按照JEP-323,增加对隐式类型lambda表达式的var支持。\n
JUnit 5
\nNetBeans增加了对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编写的测试。
\n另一种可选方案是对Maven和Ant项目都使用Console Launcher,这是JUnit提供的Java命令行应用程序。它是一个可执行的Jar文件,如下面的示例所示,包含多种可配置选项:
\njava -jar junit-platform-console-{ version }.jar --scan-class-path --class-path target/classes \n
\n
J. Steven Perry是一名独立的软件开发人员,同时是Makoto Consulting Group的拥有者和首席咨询师,他发布了一个四分半钟的视频,介绍了如何使用Console Launcher。
\n2019的路线图
\n按照路线图,Apache在2019年会提交两次版本。NetBeans 11计划在3月份发布,支持JDK 12和Java EE/Jakarta EE cluster的重新集成。NetBeans 12计划在9月份发布,支持JDK 13和C/C++ cluster的重新集成。C/ C++代码目前正处于Oracle的捐赠过程中。
\n参考资源
\n- \n
- InfoQ撰写的Oracle将NetBeans交给了Apache基金会(2016年9月19日);\n
- InfoQ撰写的NetBeans第一部分代码提交Apache(2017年9月19日);\n
- Apache编写的NetBeans简史。\n
查看英文原文:Apache Releases NetBeans 10.0 Featuring Enhanced Support for JDK 11
\n