Подтвердить что ты не робот

Как выбрать URL-адрес моего Spring загрузочного webapp?

Я использую Spring Boot для создания веб-приложения, и я не уверен, как изменить URL-адрес от localhost:8080 на что-то вроде localhost:8080/myWebApp.

Я видел много ресурсов в Интернете, ссылающихся на файл application.properties и добавляя это к пути к классам. Но я точно не знаю, где это сделать.

Вопросы

  • В моем src/main/resources?

  • Как назначить URL-адрес в файле?

4b9b3361

Ответ 1

Вам необходимо установить для свойства server.contextPath значение /myWebApp.

Проверьте эту часть документации

Самый простой способ установить это свойство - использовать файл свойств, который вы используете (скорее всего, application.properties), но Spring Boot предоставляет множество других способов установки свойств. Проверьте эту часть документации

РЕДАКТИРОВАТЬ

Как уже упоминалось @AbdullahKhan, начиная с Spring Boot 2.x свойство устарело и должно быть заменено на server.servlet.contextPath как было правильно упомянуто в этом ответе.

Ответ 2

В src/main/resources поставьте application.properties или application.yml и поместите там server.contextPath.

server.contextPath=/your/context/here

При запуске приложения приложение будет доступно в http://localhost:8080/your/context/here.

Для получения полного списка свойств для установки см. Приложение A. справочного руководства по загрузке Spring.

Вместо того, чтобы помещать его в application.properties, вы также можете передать его как системное свойство при запуске приложения

java -jar yourapp.jar -Dserver.contextPath=/your/path/here

Ответ 3

Начиная с весенней загрузки 2 свойство server.contextPath устарело. Вместо этого вы должны использовать server.servlet.contextPath.

Итак, в вашем файле application.properties добавьте:

server.servlet.contextPath=/myWebApp

Для получения дополнительной информации см.: https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Migration-Guide#servlet-specific-server-properties

Ответ 5

Сервер .contextPath или server.context-path работает, если

в pom.xml

  • упаковка должна быть воюющей не банкой
  • Добавьте следующие зависимости

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Tomcat/TC server --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>

    В eclipse щелкните правой кнопкой мыши по проекту → Запустить как → Spring Загрузочное приложение.

Ответ 6

Проблема изменения контекстного пути приложения Spring очень хорошо решена в посте под названием Spring Boot Change Context Path Path

В основном пост обсуждает несколько способов реализации этого, а именно.

  1. Java Config
  2. Аргументы командной строки
  3. Свойства системы Java
  4. Переменные среды ОС
  5. application.properties в текущем каталоге
  6. application.properties в пути к классам (src/main/resources или упакованный файл jar)

Ответ 7

Spring Boot по умолчанию обслуживает содержимое в корневом пути контекста ("/"). Иногда нам нужен собственный путь. Есть несколько способов сделать это.

Самый простой способ изменить путь контекста - установить свойство в application.properties.

server.servlet.context-path=/myWebApp

Другой способ - установить путь к контексту как системное свойство Java до того, как будет инициализирован даже контекст:

public static void main(String[] args) {
System.setProperty("server.servlet.context-path", "/myWebApp");
SpringApplication.run(Application.class, args);
}

Вы также можете установить свойства динамически с помощью аргументов командной строки

java -jar app.jar --server.servlet.context-path=/myWebApp

Spring Boot также может зависеть от переменных среды ОС. На Unix-системах мы можем написать:

export SERVER_SERVLET_CONTEXT_PATH=/myWebApp

В Windows команда для установки переменной среды:

set SERVER_SERVLET_CONTEXT_PATH=/myWebApp

Примечание: решения будут работать для весенней загрузки 2.xx. Надеюсь, поможет.