maven: невозможно переопределить server.port для сервера Tomcat - PullRequest
0 голосов
/ 06 июля 2018

Я новичок в Maven / SpringBoot и пытаюсь развернуть хранилище с другим портом Tomcat Server.

По умолчанию я бы с удовольствием запустил tomcat на: 8080. Но сегодня я хотел добавить конвейеры Jenkins в свой проект и развернул tomcat в: 8080 (с jenkins на нем) перед моим весенним облачным хранилищем шлюза.

Теперь, когда я пытаюсь развернуть шлюз, компилятор явно говорит address :8080 already in use.

Теперь я хочу, чтобы мой шлюз развернул Tomcat на другом порту (или использовал уже существующий tomcat на: 8080, если это возможно?), Поэтому я хотел развернуть его с помощью этой команды:

$ mvn spring-boot:run -Dserver.port=8181

Тем не менее, появляется такая же ошибка, основанная на :8080:

[ОШИБКА] Не удалось выполнить цель org.springframework.boot: весна-загрузка Maven-плагин: 1.5.8.RELEASE: бег (default-cli) в проекте crw-gateway: во время исключения Бег. null: InvocationTargetException: соединитель настроен на Не удалось запустить прослушивание порта 8080.

Я пытался поместить файлы server.port=8080 в application.properties или application-dev.properties, но не могу переопределить его.

Есть идеи? Как я могу переопределить порт? Возможно ли использовать уже существующий tomcat-сервер на 8080?

Спасибо за ваше время!

РЕДАКТИРОВАТЬ: мои конфигурации были в папке ~ / config. Там у меня было gateway.properties, в которое входила строка server.port=8080. Он переопределил интерфейс командной строки, как утверждает принятый ответ. Изменение на 8888. сработало.

1 Ответ

0 голосов
/ 06 июля 2018

Согласно документации Spring Boot :

Spring Boot использует очень специфический порядок PropertySource, который предназначен для разумного переопределения значений. Свойства рассматривается в следующем порядке:

  1. Свойства глобальных настроек Devtools в вашем домашнем каталоге (~/.spring-boot-devtools.properties, когда devtools активен).
  2. @TestPropertySource аннотации к вашим тестам.
  3. @ SpringBootTest#properties атрибут аннотации в ваших тестах.
  4. Аргументы командной строки.
  5. Свойства из SPRING_APPLICATION_JSON (встроенный JSON, встроенный в переменную среды или системное свойство).
  6. ServletConfig Параметры инициализации.
  7. ServletContext Параметры инициализации.
  8. Атрибуты JNDI из java:comp/env.
  9. Свойства системы Java (System.getProperties()).
  10. Переменные среды ОС.
  11. A RandomValuePropertySource, который имеет свойства только в random.*.
  12. Свойства приложения для конкретного профиля вне вашего упакованного фляги (application-{profile}.properties и варианты YAML).
  13. Свойства приложения для конкретного профиля, упакованные внутри вашего jar (application-{profile}.properties и варианты YAML).
  14. Свойства приложения вне вашего упакованного фляги (варианты application.properties и YAML).
  15. Свойства приложения, упакованные внутри вашего jar (application.properties и варианты YAML).
  16. @PropertySource аннотации к вашим @Configuration классам.
  17. Свойства по умолчанию (задаются настройкой SpringApplication.setDefaultProperties).

Итак, ваша проблема в том, что ваша командная строка (4.) не может переопределить конфигурацию файла application.properties (13., 14., 15.).

Если вы хотите переопределить свойство server.port, вам необходимо обеспечить соблюдение этого порядка в вашей конфигурации.

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