温馨提示×

温馨提示×

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

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

Java Module 如何导入

发布时间:2026-08-31 14:23:38 来源:亿速云 阅读:89 作者:小樊 栏目:编程语言

Java 9+ 中引入了 Java Module System(模块化),导入(使用)一个 Module 主要有几种常见场景。下面按最常见的用法给你说明。


一、什么是「导入 Module」

在模块化项目中:

  • 模块(Module):通过 module-info.java 声明
  • 导入(依赖):使用 requires 关键字
  • 导出(暴露):使用 exports 关键字

二、基本步骤(核心)

1️⃣ 创建一个 Module

目录结构示例:

src
 └── com.example.mymodule
     ├── module-info.java
     └── com
         └── example
             └── Main.java

module-info.java

module com.example.mymodule {
    // 依赖其他模块
    requires java.sql;
}

Main.java

package com.example;

import java.sql.Connection;

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello Module");
    }
}

这里 requires java.sql; 就是“导入模块”


三、导入第三方 Module(最常见)

1️⃣ 模块化的第三方库(JAR)

比如你有一个模块化的 JAR:

libs/
 └── gson-5.0.jar

module-info.java

module com.example.app {
    requires com.google.gson;
}

⚠️ 前提:gson-5.0.jar 内部必须有自己的 module-info.class,否则不算模块。


2️⃣ 非模块化的 JAR(自动模块)

如果 JAR 没有 module-info

module com.example.app {
    requires gson; // 自动模块名
}

规则:

  • 模块名 = JAR 文件名(去掉版本号)
  • 例如:gson-2.10.1.jargson

四、从 Module 中导入类(import)

⚠️ Module ≠ import

import com.google.gson.Gson; // 普通 import

前提是:

requires com.google.gson;

并且:

exports com.google.gson;

否则仍然 无法访问


五、常见错误 & 解决

❌ Module not found

Module com.google.gson not found

✅ 解决:

  • JAR 是否加入 --module-path
  • 是否用了 requires 正确模块名

❌ Package not accessible

package is not visible

✅ 解决:

  • 被依赖模块未 exports
  • 或你没 requires

六、编译 & 运行示例

编译

javac --module-path libs -d out \
  src/com.example.app/module-info.java \
  src/com.example.app/com/example/Main.java

运行

java --module-path libs -m com.example.app/com.example.Main

七、Module 导入总结

场景 关键字
导入模块 requires
导出包 exports
导入类 import
使用第三方 JAR --module-path
非模块化 JAR 自动模块

如果你愿意,可以告诉我:

  • ✅ 用的是 JDK 版本
  • ✅ 是 普通项目 / Maven / Gradle
  • ✅ 报错信息

我可以直接帮你写 完整可运行示例

向AI问一下细节

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

AI