Java模块系统新特性快速上手指南( 三 )
您将看到输出Hello Java Module World 。
6.向后兼容性您可能很想知道如何在后Java 9世界中运行用模块化前编写的Java程序 , 因为以前的代码库对模块路径一无所知 。 答案是Java 9被设计为向后兼容 , 即以前代码依然可以运行在9及以后的版本中 。 但是 , 新的模块系统是一个巨大的变化 , 您可能会遇到问题 , 特别是在大型代码库中 。
在Java 9上运行9以前的代码库时 , 您可能会遇到两种错误:一种源自您的代码库 , 另一种源自您的依赖 。
对于源于代码库的错误 , 这个命令可能会有所帮助:jdeps 。 当指向一个类或目录时 , 该命令将扫描存在哪些依赖项 , 以及这些依赖项依赖的模块 。
对于源于依赖关系的错误 , 您可寄希望您所依赖的包将会有更新的Java 9兼容构建版本 。 如果没有 , 你可能不得不寻找其他选择 。
一个常见的错误是这样的:
How to resolve java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
这是Java抱怨找不到某个类 , 因为它已经迁移到一个模块 , 而对使用方(消费代码)不可见 。 这里() 描述了几种具有不同复杂性和持久性的解决方案 。
同样 , 如果在依赖项中发现此类错误 , 请进行项目检查 。 它们可能有Java 9构建版本供您使用 。
JPMS是一个相当彻底的改变 , 需要时间来适应 。 幸运的是 , 并不着急 , 因为Java 8是一个长期支持版本 。
也就是说 , 从长远来看 , 旧的项目将需要迁移 , 而新的项目将需要明智地使用模块 , 以期能够利用一些模块应允的好处 。
7.小结【Java模块系统新特性快速上手指南】本文简要介绍了Java中的模块系统的相关技术知识 , 并做了实例性演示实战操作 , 动手练一把 , 基本就能窥得JPMS的总体特性了 , 后续有机会再深入讲解相关技术细节 。
本篇就到这里了 , 关注一下 , 分享出去吧 , 谢谢.
- vivo一款新机现身跑分网!运存和系统信息通通曝光
- 想实现《曼达洛人》的数字布景吗?索尼模块化屏幕即将开售
- 未来想进入AI领域,该学习Python还是Java大数据开发
- 人瑞人才(06919):未来3年系统平台将发力智能化,打造职业生态链平台
- 消费者报告 | 美团充电宝电量不足也扣费,是质量问题还是系统缺陷?
- 谷歌修复Pixel 5系统音量问题 快门音效不再吵
- Axiomtek推出AIE100-903-FL-NX AI Edge系统 可在恶劣环境下运行
- 官宣!11款vivo系机型开始公测最新系统OriginOS
- 鸿蒙OS大一统需产业合力
- 学习大数据是否需要学习JavaEE