博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 9 将会从默认类路径中去除 CORBA
阅读量:6817 次
发布时间:2019-06-26

本文共 748 字,大约阅读时间需要 2 分钟。

作为模块系统的一部分正在进行的迁移,CORBA和其他的Java EE模块在Java 9更新时将不会包含在默认的类路径中。这些模块依然能够获取,但是开发者们需要使用特定的命令行指令才能够使用它们。这个变化只会影响到非模块化的、以Java 9为目标系统的应用,因为模块化的应用已经需要详细指出它们依赖的模块。

正如“模块系统的情形” 中解释的那样,模块化在Java 9中的附加功能不会强制开发者直接使用它们,反而,Java 9中提供了一定数量的向后兼容选项。其中一个允许在Java 9中完成传统的、非模块化的代码。其中为了它能够正常工作,非模块化的代码需要被添加至编译器,作为一个特殊的模块,叫做“未命名模块”,它默认显示了所 有包含的包并且没有详述的依赖。

不幸的是,未命名模块没有任何明确的依赖关系,这会给模块分解带来很大的挑战。在一个模块化的Java应用中,正在被编译的模块会有一个明确的所需 要的依赖关系清单。编译器可以使用这些信息,伴随着依赖关系中的依赖,来计算出一个图表,其中包括所有被编译模块直接或间接需要的所有模块的传递闭包。而 未命名模块没有标明任何依赖,所以它不能被用于计算模块图表的根节点。

为了修正这个问题,Java 9将会使用一些默认值作为将代码编译入未命名模块的根模块。在最新的修改中,这个默认根模块已经从java.se.ee迁移到java.se,这意味着所有的Java EE扩展现在都默认不能使用了。这个修改会帮助预防包含它们自己的Java EE包实现的应用服务器中的冲突。

那些想要迁移至Java 9但是还没有做好重写他们应用每个模块系统的准备的人可以仍然将这些依赖添加回类路径,通过在编译或运行应用时使用命令行指令“-addmods ”。

文章转载自 开源中国社区[

你可能感兴趣的文章
【转】性能测试工具 性能测试如何做?
查看>>
fullpage.js禁止滚动
查看>>
LoadRunner中响应时间与事物时间详解
查看>>
ZigZag Conversion
查看>>
Android 通过HTTPCLINET POST请求互联网数据
查看>>
Hadoop集群的配置(一)
查看>>
Kafka 学习笔记之 Consumer API
查看>>
教程-Close、Halt、terminate、ExitProcess的区别
查看>>
10款很好用的 jQuery 图片滚动插件
查看>>
teacher forcing
查看>>
Linux命令小记
查看>>
基于ROS和beaglebone的串口通信方式,使用键盘控制移动机器人
查看>>
android.view.WindowLeaked的解决办法
查看>>
存储过程的笔记
查看>>
OpenCV学习(27) 直方图(4)
查看>>
深度学习原理与框架-Tensorflow基本操作-实现线性拟合
查看>>
[leetcode-168-Excel Sheet Column Title]
查看>>
SpringBoot和数据库连接
查看>>
二叉搜索树
查看>>
网页小技巧-360doc个人图书馆复制文字
查看>>