Я создаю образец приложения с 3 модулями user
, dept
и account
. В моем пользовательском модуле у меня есть основной класс, и я компилирую модули с помощью следующей команды:
javac -d target --module-source-path src $(find -name "*.java")
После компиляции выполните следующую команду для запуска:
java -p target -m com.user/com.user.info.Launcher
Вывод после запуска модулей java успешен. Но при попытке создать образ среды выполнения с помощью jlink
образ был успешно создан, но исполняемый скрипт модуля отсутствует. Для создания изображения я использую следующую команду:
jlink --module-path $JAVA_HOME/jmods:target --add-modules com.user --output my-app
В образе времени выполнения у меня есть каталог bin
, но этот каталог содержит только сценарии java
и keynote
. Я также ожидаю пользовательского сценария основного класса для выполнения моего приложения.
Моя версия Java, как показано ниже:
java version "9-ea"
Java(TM) SE Runtime Environment (build 9-ea+165)
Java HotSpot(TM) 64-Bit Server VM (build 9-ea+165, mixed mode)
Как я могу решить эту проблему?
jlink
не создает исполняемый файл. Он просто создает образ времени выполнения виртуальной машины, в котором есть только необходимые вам модули. - person Jorn Vernee   schedule 20.05.2017java
в папкеbin
, вы можете использоватьjava com.user.info.Launcher
для запуска приложения. - person Jorn Vernee   schedule 20.05.2017