Java 9: ​​модульность с нуля

Java задняя часть переводчик функциональное программирование
Java 9: ​​модульность с нуля

Что ж, Java 9 доступна, так что давайте делать модули!

Модульность важна в Java9! В будущем модули станут основными строительными блоками приложений. Модули являются важной частью приложения, независимо от того, написаны они на динамическом или статическом языке, и следуют принципу единственной функции. Вы можете назвать любой метод модулем, точно так же, как функциональное программирование основано на модулях. Ну, короче, после того, как вы дойдете до этого момента, помните: будущий модуль очень важен, очень важен, очень важен Важное нужно сказать 3 раза!

这里写图片描述

шаг:

  • Шаг 1: Загрузите Java 9 и установите
  • Шаг 2: Создайте java-файл модуля
  • Шаг 3: Путь к файлу модуля
  • Шаг 4: Напишите модуль
  • Шаг 5: Добавьте код в наш модуль
  • Шаг 6: Скомпилируйте наш модуль
  • Шаг 7: Запустите наш модуль

1. Загрузите Java 9 и установите ее.

ссылка для скачивания:Woohoo. Сеть Oracle.com/tech…

После загрузки просто нажмите на него, чтобы установить (если вы используете 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. Напишите модуль

Теперь, когда мы знаем имя файла нашего модуля и путь к файлу нашего модуля, давайте напишем модуль с этим соглашением об именах и папках:

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.

Итак, пишем hello world в Main.java:

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, создали модуль, добавили в него исходный файл и запустили его. Мы видим соглашение об именах, которое необходимо соблюдать при создании путей к модулям и т. п. при создании исходного кода.

оригинал:D zone.com/articles/Спешите…