Java 9 : 从零开始实现模块化

Posted Lovnx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 9 : 从零开始实现模块化相关的知识,希望对你有一定的参考价值。

Well, Java 9 is available so let’s make modules!

模块化在Java9中是炒鸡炒鸡重要的!今后,模块将是应用程序的基础构建单位。无论是使用动态语言或静态语言编写,模块都是应用程序的一个重要组成部分,且模块遵循单一功能原则。你可以将任意方法称为模块,正如函数式编程也是基于模块一样。好了,总之,你get到这个点之后就记住:以后模块很重要很重要很重要 The important thing is need to be said 3 times!

步骤:

  • 步骤1:下载Java 9并安装
  • 步骤2:创建一个模块java文件
  • 步骤3:模块文件路径
  • 步骤4:编写一个模块
  • 步骤5:向我们的模块添加代码
  • 步骤6:编译我们的模块
  • 步骤7:运行我们的模块

1、下载Java 9并安装

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html

下载后,只需点击它即可进行安装(如果您在MacOS上),并确认已安装:

tomerb@tomerb-mac.local:~$ java --version
java 9-ea
Java(TM) SE Runtime Environment (build 9-ea+164)
Java HotSpot(TM) 64-Bit Server VM (build 9-ea+164, mixed mode)
tomerb@tomerb-mac.local:~$ cd ~/tmp
tomerb@tomerb-mac.local:~$ mkdir -p ~/tmp/java9-modules
tomerb@tomerb-mac.local:~$ cd ~/tmp/java9-modules

2、创建一个模块java文件

在Java 9中,为了定义模块,需要为java文件设定一个特别的名字,建议为: module-info.java

3、模块文件路径

module-info.java 应该放在哪里呢?按照惯例,应该把它放在和模块名相同的目录下。

如果你的模块名称是

com.me.mymodule

那么你的模块  module-info.java 应该放在:

src/com.me.mymodule

这使您的  module-info.java 文件放在:

src/com.me.mymodule/module-info.java 路径。

得到它了? <module-path> == <module name> 

4、编写一个模块

现在我们知道我们的模块 filename 和我们的模块 filepath,我们来编写一个具有这个命名和文件夹约定的模块:

tomerb@tomerb-mac.local:~/tmp/java9-modules$ mkdir -p src/com.me.mymodule
tomerb@tomerb-mac.local:~/tmp/java9-modules$ vi src/com.me.mymodule/module-info.java
module com.me.mymodule  

至此,我们就完成了一个模块的编写!

5、向我们的模块添加代码

在这一步中,我们将向我们的模块添加一些代码!在同一目录下创建一个新的java文件来作为我们的模块:

$ mkdir -p src/com.me.mymodule/com/me/mymodule
$ vi src/com.me.mymodule/com/me/mymodule/Main.java

注意我们代码中的目录名称。为什么这样做呢? 我们首先输入我们模块所在的路径,然后我们为源代码创建完整的包名称。在这种情况下, /com/me/mymodule/com.me.mymodule 的上层。只是我们的源文件属于我们的模块,并且模块已经在Java 9惯例的标准模块目录中。

所以,我们就在Main.java编写hello world:

package com.me.mymodule;
public class Main 
    public static void main(String[] args) 
        System.out.println("Hello World from Module! :)"); // nothing special here, standard java < 9 class.
    

6、编译我们的模块

首先制作 mods 目录(我们将进一步传递给: java --module-path):

$ mkdir -p mods/com.me.mymodule
$ javac -d mods/com.me.mymodule \\
          src/com.me.mymodule/module-info.java \\
          src/com.me.mymodule/com/me/mymodule/Main.java

轻动你高贵的手指,让编译器再跑一会儿!

7、运行我们的模块

$ java --module-path mods -m com.me.mymodule/com.me.mymodule.Main
Hello World from Module! :)

总结

在这部分中,我们下载了Java 9,创建了一个模块,向其中添加了一个源文件,并运行它。我们看到在创建源代码时创建模块路径和类似的东西时,需要遵循一个命名约定。

原文:https://dzone.com/articles/java-9-tutorial-step-by-step-from-zero-to-modules

以上是关于Java 9 : 从零开始实现模块化的主要内容,如果未能解决你的问题,请参考以下文章

从零开始学Python-day9

从零开始的Java开发2-9-3 油画商城静态网页案例

从零开始学习Java设计模式 | 软件设计原则篇:依赖倒转原则

从零开始学习Java设计模式 | 软件设计原则篇:依赖倒转原则

从零开始的Springboot的HelloWord,并实现图片上传功能

java 从零开始手写 redisLRU 缓存淘汰策略详解