Модульная система Java 9

Я пытаюсь изучить новые возможности модуля java 9. Не думаю, что я правильно выполняю команду require / exports, потому что intelliJ выдает мне красный текст при импорте, если я не добавлю зависимости в project structure окно, которое, я уверен, это неправильный путь. Ниже моя файловая структура

app  
--src  
----start  
------main.java  
----module-info.java  

hello  
--src  
----hello  
------Hello.java  
----module-info.java

Это модуль-информация для app:

module name {
    requires hello;
}

Это модуль-информация для hello:

module name {
    exports hello;
}

1 ответ

Выбор name поскольку имя для обоих модулей Java не является хорошей идеей (оно может не скомпилироваться, если вы попытаетесь запросить другой модуль Java с тем же именем).

Также кажется, что вы пытаетесь потребовать пакет hello, но вы должны требовать другой модуль Java. По этой причине я рекомендую переписать module-info.java файл в app быть следующим:

module app {
    requires hello;
}

И переписать module-info.java файл в hello быть следующим:

module hello {
    exports hello;
}
Другие вопросы по тегам