JDK 9 jlink выдает ошибку: необходимо указать --outputJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 JDK 9 jlink выдает ошибку: необходимо указать --output

Сообщение Anonymous »

Я новичок в JDK 9 и пытаюсь использовать jlink для создания среды выполнения простого приложения.

У меня есть следующие дескрипторы модулей

Код: Выделить всё

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;
}
Я определил пару простых классов под названием Reader.java и Decoder.java и могу скомпилировать и запустить их, выполнив следующие действия.

(1) Загрузите и разархивируйте JDK и JRE 9.0.4 в тестовый каталог

(2) Создайте следующую структуру каталогов внутри теста каталог.

Код: Выделить всё

/moduleExamples/readerDecoderExample/src/main/java
/moduleExamples/readerDecoderExample/src/main/java/reader
/moduleExamples/readerDecoderExample/src/main/java/decoder
(3) Добавьте модуль чтения-info.java, org/reader/Reader.java в каталог чтения. Добавьте модуль декодера-info.java, com/decoder/Decoder .java в каталог декодера.

(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")
(6) Запустите класс декодера

Код: Выделить всё

${JAVA_HOME}/bin/java --module-path mods -m decoder/com.decoder.Decoder input.txt
(7) mkdir mlibs

(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 .
(9) В конце шага (8) у меня есть каталог mlibs, как показано ниже

Код: Выделить всё

readerDecoderExample/mlibs/decoder.jar
readerDecoderExample/mlibs/reader@1.0.jar
(10) Когда я пытаюсь создать JRE с помощью следующей команды

Код: Выделить всё

${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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»