📜  java中创建新模块的语法(1)

📅  最后修改于: 2023-12-03 15:16:19.469000             🧑  作者: Mango

Java中创建新模块的语法

在Java中,使用模块可以让我们更好地组织和管理代码,尤其是在大型项目中。本文将介绍如何在Java中创建新模块的语法。

1. 创建模块描述文件(module-info.java)

模块描述文件是每个模块的必须文件,它描述了模块的名字、依赖关系、导出的包等。以下是模块描述文件的示例:

module myModule {
    requires myDependency;
    exports myPackage;
    opens myPackage;
}

其中,module关键字后面跟着模块的名字,requires描述了该模块依赖的其他模块,exports描述了该模块导出的包,opens描述了该模块打开的包(用于反射)。

2. 创建源代码目录

在Java 9之前,所有的源代码都在同一个目录下。但现在,每个模块应该有自己的源代码目录。比如,假设我们的模块名为myModule,则可以创建以下目录结构:

myModule
├── src
│   ├── main
│   │   └── java
│   │       └── myPackage
│   │           └── MyClass.java
│   ├── test
│   │   └── java
│   │       └── myPackage
│   │           └── MyClassTest.java
│   └── module-info.java
└── target

在上面的例子中,src/main/java目录存放主要的源代码,src/test/java目录存放测试代码,src/module-info.java是模块描述文件。target目录是编译后的代码存放的目录。

3. 编写源代码

src/main/java目录下编写源代码。注意,这里的包名要和模块描述文件中导出的包名相同。

以下是一个简单的示例:

package myPackage;

public class MyClass {
    public void sayHello() {
        System.out.println("Hello, world!");
    }
}
4. 使用命令行编译代码

使用以下命令行编译代码:

javac -d target --module-source-path src $(find src -name "*.java")

其中,-d参数表示编译后的代码存放在target目录下,--module-source-path参数表示源代码的路径,$(find src -name "*.java")表示编译所有.java文件。

5. 运行代码

target目录下运行代码:

java --module-path target --module myModule/myPackage.MyClass

其中,--module-path参数表示模块所在的路径,--module参数表示要运行的模块和类。在这个例子中,我们要运行的是myModule模块中的myPackage.MyClass类。

总结

通过本文的介绍,我们了解了如何在Java中创建新模块的语法。我们可以很方便地使用模块来组织和管理代码,使得代码更加清晰和易于维护。