Переупаковка приложения Spring Boot - PullRequest
0 голосов
/ 23 мая 2018

Добрый день!

У меня есть простое приложение с http-сервером, как в этом руководстве:

https://spring.io/guides/gs/serving-web-content/

Когда я его собираю и запускаю - оно работает хорошо.

java -jar target/gs-serving-web-content-0.1.0.jar

Теперь я хочу перепаковать этот файл jar.Я делаю:

jar xvf gs-serving-web-content-0.1.0.jar
rm  gs-serving-web-content-0.1.0.jar
jar cf gs-serving-web-content-0.1.0.jar *

Но когда я пытаюсь запустить его с

java -jar target/gs-serving-web-content-0.1.0.jar

, я получаю сообщение об ошибке:

no main manifest attribute, in test.jar

Я пытался исправить это многими способами, но не смог найти способ как это сделать.Есть какой-нибудь трюк?

Спасибо.

1 Ответ

0 голосов
/ 23 мая 2018
  • Вам необходимо повторно использовать файл манифеста.Если вы повторно используете файл манифеста, вы также получите правильную точку входа (Main-Class / Start-Class).Опция m и аргумент META-INF/MANIFEST.MF.Если вы не укажете опцию m, вы получите новый файл манифеста, который перезапишет ваш существующий.
  • Вам не нужно сжимать используемые библиотеки.Вариант 0.Из-за этого ваш последний кувшин может быть больше, чем по умолчанию Spring Boot.

jar cfm0 fne-manager-0.0.1-SNAPSHOT.jar META-INF/MANIFEST.MF *

Usage: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
Options:
    -m  include manifest information from specified manifest file
    -0  store only; use no ZIP compression

Я не уверен, почему вы хотите «перепаковать»это.

Также взгляните на https://docs.spring.io/spring-boot/docs/current/maven-plugin/repackage-mojo.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...