温馨提示×

温馨提示×

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

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

java Module模块怎么运行

发布时间:2026-10-08 21:29:40 来源:亿速云 阅读:95 作者:小樊 栏目:编程语言

在 Java 9+ 中引入了 Module System(模块系统),模块(Module)通过 module-info.java 来定义。下面从基本结构 → 编译 → 运行一步步说明。


一、Module 基本结构

一个最简单的模块示例:

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

1️⃣ module-info.java

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

2️⃣ Main.java

package com.example.myapp;

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

二、编译 Module

javac \
  -d out \
  src/com.example.myapp/module-info.java \
  src/com.example.myapp/com/example/myapp/Main.java

编译后结构:

out/
└── com.example.myapp/
    ├── module-info.class
    └── com/example/myapp/Main.class

三、运行 Module(重点)

✅ 方式一:使用 -m 指定模块

java -p out -m com.example.myapp/com.example.myapp.Main

参数说明:

  • -p out:module path(模块路径)
  • -m:运行指定模块的主类

输出:

Hello Module

四、多个 Module 的情况

目录结构示例:

modules/
├── com.example.util/
│   ├── module-info.java
│   └── com/example/util/Utils.java
├── com.example.app/
│   ├── module-info.java
│   └── com/example/app/Main.java

app 模块依赖 util 模块

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

编译

javac -d out \
  modules/com.example.util/module-info.java \
  modules/com.example.util/com/example/util/Utils.java \
  modules/com.example.app/module-info.java \
  modules/com.example.app/com/example/app/Main.java

运行

java -p out -m com.example.app/com.example.app.Main

五、打包成模块化 JAR(可选)

jar --create \
    --file myapp.jar \
    --module-version 1.0 \
    -C out/com.example.myapp .

运行:

java -p myapp.jar -m com.example.myapp/com.example.myapp.Main

六、常见错误

❌ Module not found

  • 没用 -p 指定模块路径

❌ Main class not found

  • 主类格式必须是:
    模块名/完整类名
    

七、总结一句话

Java Module 运行 = 编译到模块路径 + java -p 模块路径 -m 模块名/主类

如果你有 Maven / Gradle / Spring Boot / 多模块项目 的具体场景,我可以给你更贴合的示例。

向AI问一下细节

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

AI
助
手