随着模块化Java进程的逐步推进,甲骨文公司正在通过一系列变化给开发人员与用户带来“显著影响”,其中包括与现有IDE之间的冲突,甲骨文公司一位高层Java业务官员指出。
在最近一篇题为《Jigsaw项目:模块化运行时镜像》的博文当中,甲骨文公司Java平台部门***架构师Mark Reinhold讨论了将模块化运行时镜像集成至Java当中、并通过JDK(即Java开发工具包)9早期版本build 41将其正式推出所带来的一系列变化与影响。“作为实现源代码重组的重要步骤,这一举措将给开发人员与终端用户带来显著影响。”
Reinhold同时强调了一系列具体变更,其中包括移除Endorsed-Standards Override机制从而将Java Community Process之外开发出的新型标准化版本纳入进来,同时在Java Virtual Machine中删除Extension机制以将Extension作为可选类使用。“我们意识到这些变更将给一部分应用程序造成直接影响,特别是对于那些依赖于JDK内部架构的IDE以及其它开发工具而言,”Reinhold表示。“我们认为这些变更能够切实改进性能表现、安全水平以及可维护能力,因此上述破坏性后果是完全值得的。我们已经与各大主要IDE维护方进行了沟通,从而确保他们了解与这些变更相关的信息。此外,我们也已经开始为其提供必要的辅助与支持。”
当被问及Java变更对于IDE的实际影响时,作为高人气Eclipse IDE缔造方的Eclipse基金会执行董事Mike Milinkovich指出,Eclipse仍然在针对Java 9制定发展规划。“不过,这显然代表着规模可观的庞大工作量,”Milinkovich表示,“而我们也欢迎来自甲骨文以及Java社区的贡献成果,旨在确保Eclipse能够为Java 9提供坚牢可靠的支持效果。”
Jigsaw项目的模块化改进在今年三月Java 8发布时就已经受到激烈批评。不过如今Jigsaw已经被正式推迟到了未来将发布的Java 9版本当中。在模块化机制的支持下应用程序能够只使用其运行所需的模块,从而带来显著的性能提升并为不同组件之间提供良好的安全隔离效果。这一举措的另一项目的在于让Java能够在小型设备上具备更理想的可扩展能力。
模块化调整的其它影响对象还包括JRE(Java SE运行时环境)以及具备相同结构的JDK镜像。“在此之前,嵌入在JRE当中的JDK镜像需要处于一个jre子目录当中; 而现在,JDK镜像则能够以运行时镜像的方式包含完成的开发工具以及曾经在JDK中出现过的其它项目的集合,”Reinhold解释称。
原本位于lib目录当中的用户可编辑配置文件如今拥有了新的conf目录。此外,内部文件rt.jar、tools.jar以及dt.jar也得到了移除,其中的内容将被保存在lib目录当中采用更高效格式的私有实现文件之内。新的内置NIO文件系统供应程序则可被用于访问保存在运行时镜像中的类与源文件。此前读取rt.jar及其它文件的工具需要直接更新至当前文件系统。与此同时,面向Java的实际模块系统将在Java Specification Request 376当中进行定义。
原文链接:http://www.infoworld.com/article/2859789/java/modular-javas-changes-could-break-ides.html