Я хотел бы добавить хеш-информацию к моим модулям, которые находятсяв в jar-файлах.
Для этого я воспользовался опциями --hash-modules
и --module-path
jar утилиты.
Вот примеры использования мною данных опций:
jar --hash-modules com.me.util --module-path "dist\com.me.jar;dist\com.me.util.jar" --update --file dist/com.me.jar --main-class=com.me.A --verbose --module-version 0.1 -C build/modules/com.me module-info.class build/modules/com.me/com/me/A.class build/modules/com.me/com/me/B.class
jar --hash-modules "com.me.util;com.me.util" --module-path "dist\com.me.jar;dist\com.me.util.jar" --update --file dist/com.me.jar --main-class=com.me.A --verbose --module-version 0.1 -C build/modules/com.me module-info.class build/modules/com.me/com/me/A.class build/modules/com.me/com/me/B.class
Когда эти команды выполняются в строке вывода информации я получаю следующее предупреждающее сообщение:"no module is recorded in hash in com.me
".
Эти команды создают *.jar файлы (модули) без каких-либо дополнительных ошибок, но не добавляют хеш информацию. Мне хотелось научиться правильно использовать данные опции утилиты jar
. Пожалуйста, подскажите, как это правильно сделать!
Структура папок проекта здесь.
Мои эксперименты и рабочие примеры команд утилиты jar здесь.
Описание опций утилиты jar (Java 9) здесь.
После внимательного прочтения документации я понял, какие параметры должны быть у данной команды для решения поставленной задачи.
Примеры:
#Create module:
jar --hash-modules "com.me" --module-path "dist/com.me.jar" --verbose --create --file dist/com.me.util.jar -C build/modules/com.me.util module-info.class build/modules/com.me.util/com/me/util/Util.class
jar --hash-modules "com.me" --module-path "dist/com.me.jar" -v -c -f dist/com.me.util.jar -C build/modules/com.me.util module-info.class build/modules/com.me.util/com/me/util/Util.class
#Update module:
jar --hash-modules "com.me" --module-path "dist/com.me.jar" --verbose --update --file dist/com.me.util.jar -C build/modules/com.me.util module-info.class
jar --hash-modules "com.me" --module-path "dist/com.me.jar" -v -u -f dist/com.me.util.jar -C build/modules/com.me.util module-info.class
Чтобы посмотреть результат работы опций, используйте следующую команду:
jar --file dist/com.me.util.jar --describe-module
Результат:
com.me.util jar:file:///C:/my_ch1_9/dist/com.me.util.jar/!module-info.class
exports com.me.util
requires java.base mandated
hashes com.me SHA-256 85c0539e4ca9a01b00f4c29a1a8b01cd452d1d97f437166b8bb415046dac65cb
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Есть лендинг на yii2 с возможностью оставить коментарииК каждому можно оставить еще коментарий
Как в настоящее время правильно верстать с помощью свойства float в CSS или использовать FlexBox, если нужно расположить блоки горизонтально