Java9 - Features - Modules模块系统

Java9 Features - Module System

一. 背景

Java 8 以前,我们使用 maven 或者 gradle 管理 jar 包时,可能会因为某一个小方法而必须引入一整个对应的 jar 包,这就导致当前 jar 包的 classpath 路径名会非常长,从而形成 jar hell。

二. module system 的目标

Java 9 引入 Model System,您可以将 Java 应用程序视为具有明确定义的边界和这些模块之间依赖关系的交互模块的集合。 模块系统的开发具有以下目标:

  1. 可靠的配置
  2. 强封装
  3. 模块化JDK/JRE

Java 9 中的模块系统脱胎于 OpenJDK 的 Jigsaw 项目。Jigsaw的设计目标是:

  • 为了让开发者构建和维护一个大型的库或应用程序更容易

  • -提高javaSE平台及JDK实现的安全性和可维护性;

  • 提升应用的性能;

  • 在javase及JDK平台,让应用更小以便于部署于更小的计算单元及紧密的云部署系统。

三. 如何使用

为了解决 jar hell 的问题,同时达到目标,module system 实际上是在 package 的级别上又封装了一层。

1. 引入 module-info.java

我们需要对应的 package 的目录下引入module-info.java 文件。

2. 在 文件中,写入相关信息

module test{
  export com.test;
  require java.security;
}
  • test 为当前 module 名。

  • export 为暴露的模块名

  • require 为当前模块需要依赖的 module 名。

四. module 种类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值