У меня есть следующие дескрипторы модулей
Код: Выделить всё
module reader{
// no "requires" entries implies no dependency on other modules
// other modules can access org.reader package
// all other packages are implicitly unavailable
exports org.reader;
}
Код: Выделить всё
module decoder {
// depends on reader module
requires reader;
// exposes com.decoder package to modules which require decoder module
// all other packages in decoder module are implicitly unavailable to other modules
exports com.decoder;
}
(1) Загрузите и разархивируйте JDK и JRE 9.0.4 в тестовый каталог
(2) Создайте следующую структуру каталогов внутри теста каталог.
Код: Выделить всё
/moduleExamples/readerDecoderExample/src/main/java
/moduleExamples/readerDecoderExample/src/main/java/reader
/moduleExamples/readerDecoderExample/src/main/java/decoder
(4) Перейдите в каталог test/moduleExamples/readerDecoderExample и выполните следующие команды.
export JAVA_HOME=test/jdk9.0.4
mkdir mods
export MODULE_PATH=test/moduleExamples/readerDecoderExample/mods
(5) Скомпилируйте модули чтения и декодера
Код: Выделить всё
${JAVA_HOME}/bin/javac -d mods --module-source-path src/main/java/ $(find src/main/java -name "*.java")
Код: Выделить всё
${JAVA_HOME}/bin/java --module-path mods -m decoder/com.decoder.Decoder input.txt
(8) Упакуйте модули в jar-файлы, используя следующие команды.
Код: Выделить всё
${JAVA_HOME}/bin/jar --create --file mlibs/reader@1.0.jar --module-version=1.0 -C mods/reader .
${JAVA_HOME}/bin/jar --create --file mlibs/decoder.jar --main-class=com.decoder.Decoder -C mods/decoder .
Код: Выделить всё
readerDecoderExample/mlibs/decoder.jar
readerDecoderExample/mlibs/reader@1.0.jar
Код: Выделить всё
${JAVA_HOME}/bin/jlink --module-path ${JAVA_HOME}/jmods;mlibs/reader@1.0.jar --add-modules reader@1.0 --output out
Ошибка: необходимо указать выходные данные
Может кто-нибудь сказать мне, что я делаю неправильно?
Заранее спасибо!
Подробнее здесь: https://stackoverflow.com/questions/504 ... -specified
Мобильная версия