温馨提示×

温馨提示×

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

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

java Module模块如何导入

发布时间:2026-10-30 18:15:53 来源:亿速云 阅读:99 作者:小樊 栏目:编程语言

在 Java 9+ 中引入了 Module System(模块系统),模块通过 module-info.java 文件来声明依赖和导出内容。下面从概念 → 导入方式 → 示例系统说明。


一、模块的基本概念

一个 Java 模块通常包含:

module-name/
 ├── module-info.java
 └── com/xxx/...

module-info.java 示例

module com.example.app {
    requires java.base;        // 依赖其他模块
    requires com.example.lib;

    exports com.example.app.api; // 对外暴露的包
}

二、如何“导入”一个模块(核心)

✅ 方式一:使用 requires(最常见)

在你的 module-info.java 中:

module com.example.app {
    requires com.example.lib;
}

这表示:当前模块依赖 com.example.lib 模块

⚠️ 注意:

  • 被依赖的模块必须被导出
  • 被依赖的模块必须在**模块路径(module path)**上

三、模块路径 vs 类路径

场景 使用
模块化项目 module path
老项目(jar) classpath
混合 自动模块

编译

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

运行

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

四、导入第三方 Jar(非模块化)

如果 jar 没有 module-info.java:

1️⃣ 自动模块(推荐简单方案)

requires javafx.controls; // jar 名自动成模块

⚠️ 要求 jar 名合法(无空格、特殊字符)

2️⃣ 打成模块化 jar

在 jar 中添加 module-info.java


五、导入 JDK 模块

JDK 模块直接 requires:

requires java.sql;
requires java.xml;

查看所有 JDK 模块:

java --list-modules

六、常见错误

❌ Module not found

  • 没放 module path
  • 模块名拼错

❌ Package not visible

  • 对方没 exports
  • 你没 requires

❌ Unable to derive module

  • jar 名非法

七、IDE 中的导入(简要)

IntelliJ IDEA

  • 项目结构 → Modules
  • 添加依赖 jar 到 Module SDK / Module path

Maven

<dependency>
  <groupId>com.example</groupId>
  <artifactId>lib</artifactId>
  <version>1.0</version>
</dependency>

Maven 默认是 classpath,需要额外配置模块。


八、一句话总结

Java Module 的“导入”就是:在 module-info.java 里写 requires 模块名,并确保模块在 module path 上。

如果你有 具体报错 / 项目结构 / 使用的框架(Spring、JavaFX 等),我可以给你更精确的示例。

向AI问一下细节

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

AI
助
手