温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java模块怎么使用

发布时间:2026-09-19 04:56:16 来源:亿速云 阅读:97 作者:小樊 栏目:编程语言

“Java 模块(Module)”通常指 Java 9 引入的 JPMS(Java Platform Module System),用来更清晰地管理依赖和封装。下面从概念 → 使用步骤 → 示例 → 常见问题给你讲清楚。


一、什么是 Java 模块

在 Java 9 之前,所有类都在 classpath 上,互相可见,容易出问题。
Java 模块通过 module-info.java 明确:

  • 模块导出哪些包(给别人用)
  • 模块依赖哪些模块
  • 哪些类对外可见

二、基本使用步骤

1️⃣ 创建模块目录结构

推荐结构:

myapp/
 ├─ src/
 │  ├─ com.example.main/
 │  │   ├─ module-info.java
 │  │   └─ com/example/main/Main.java
 │  └─ com.example.util/
 │      ├─ module-info.java
 │      └─ com/example/util/StringUtils.java

2️⃣ 编写 module-info.java

模块 A:com.example.util

module com.example.util {
    exports com.example.util;
}

模块 B:com.example.main

module com.example.main {
    requires com.example.util;
}

3️⃣ 编写 Java 代码

StringUtils.java

package com.example.util;

public class StringUtils {
    public static String hello() {
        return "Hello Module";
    }
}

Main.java

package com.example.main;

import com.example.util.StringUtils;

public class Main {
    public static void main(String[] args) {
        System.out.println(StringUtils.hello());
    }
}

4️⃣ 编译模块

javac \
  -d out \
  src/com.example.util/module-info.java \
  src/com.example.util/com/example/util/*.java \
  src/com.example.main/module-info.java \
  src/com.example.main/com/example/main/*.java

5️⃣ 运行模块

java --module-path out --module com.example.main/com.example.main.Main

三、常用 module-info 指令

module 模块名 {
    requires 模块名;        // 依赖
    exports 包名;           // 导出包
    opens 包名;             // 反射可见
    uses 接口;              // 服务接口
    provides 接口 with 实现;
}

四、常见注意点

✅ 不导出的包 无法被其他模块访问
✅ 反射访问需要 opens
✅ 模块名一般和包名一致
✅ Java 标准库本身也是模块(如 java.base)


五、什么时候用模块?

✅ 大型项目 / 框架
✅ 微服务 / 工具库
✅ 想严格控制依赖

❌ 小练习 / 简单程序 → 不用模块也行


如果你愿意,我可以:

  • 给你一个 Maven + 模块示例
  • 或讲 模块 vs classpath
  • 或帮你把现有项目改造成模块

你现在是 学习阶段还是项目要用?

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手