Spring boot run успешно завершен, но встроенный сервер не работает - PullRequest
0 голосов
/ 30 мая 2019

Я выполняю команду maven spring-boot: run, которая завершается без ошибок, но встроенный сервер отключается.

[CPRO][ INFO] [2019-05-30 10:01:03] [es.ja.ctpd.calcprod.CalcProdApplication.main()] [org.apache.juli.logging.DirectJDKLog.log(179)] Using a shared selector for servlet write/read
[CPRO][ INFO] [2019-05-30 10:01:03] [es.ja.ctpd.calcprod.CalcProdApplication.main()] [org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(185)] Tomcat started on port(s): 8090 (http)
[CPRO][ INFO] [2019-05-30 10:01:03] [es.ja.ctpd.calcprod.CalcProdApplication.main()] [org.springframework.boot.StartupInfoLogger.logStarted(57)] Started CalcProdApplication in 10.351 seconds (JVM running for 13.681)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12.806 s
[INFO] Finished at: 2019-05-30T10:01:03+02:00
[INFO] ------------------------------------------------------------------------

Я работаю в многомодульном проекте.Командой, которой я пользуюсь, является эта (расположена в папке \ application)

mvn spring-boot:start -P dev -s <path>\settings.xml -Dspring.profiles.active=dev

Я видел, что можно запустить загрузку, используя java -jar , но мое приложениеwar, так что я не знаю, смогу ли я использовать эту опцию.

Я также заметил, что из моей IDS STS при запуске сервера (это работает нормально) есть несколько строк журнала "AUTO-ОТЧЕТ О КОНФИГУРАЦИИ " в консоли, которой нет в моей загрузке из командной строки.

Спасибо!

ОБНОВЛЕНИЕ

Хорошо, как@ andy-wilkinson говорит, я должен был использовать spring-boot: run, но у меня все еще были проблемы.Наконец-то я смог запустить свое приложение с этой настройкой:

1 - команда подпружиненной загрузки: repackage:

mvn clean install spring-boot:repackage -P dev -s <path>\settings.xml -Dspring.profiles.active=dev -Dstart-class=<myclass>

2 - команда запуска с помощью java -jar:

java -jar -Dspring.profiles.active=dev application\target\application-1.0.0.BUILD-SNAPSHOT-exec.war

Два заключительных комментария:

  • Я знаю, что должен использовать другой профиль бега, это будет следующим большим шагом.
  • У меня естьМне пришлось удалить файл useles orm.xml, который у меня был, который давал ошибку синтаксического анализа XML, и теперь он работает без проблем.Во время загрузки есть только строка журнала кэша tomcat, о которой я спрошу в другом посте.

1 Ответ

2 голосов
/ 30 мая 2019

Если вы хотите запустить приложение из командной строки, используя Maven, вам следует использовать spring-boot:run вместо spring-boot:start.

mvn spring-boot:start предназначено для использования с интеграционными тестами и Failsafe.Он запускает приложение и затем движется дальше.Обычно это сопровождается отказоустойчивым вызовом ряда интеграционных тестов с запущенным приложением и последующим вызовом spring-boot:stop для остановки приложения.Вы специально запускаете цель start, поэтому больше ничего не нужно делать, и Maven завершает работу.

Я видел, что можно запустить загрузку с помощью java -jar, но мое приложениеwar, поэтому я не знаю, смогу ли я использовать эту опцию.

Исполняемая война (построенная с использованием плагина Spring Boot's Maven) может быть запущена с помощью java -jar.Вот как это должно выполняться вне разработки, когда spring-boot:run предназначен для нас только во время разработки.

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