Как выбрать URL-адрес моего Spring загрузочного webapp?
Я использую Spring Boot для создания веб-приложения, и я не уверен, как изменить URL-адрес от localhost:8080
на что-то вроде localhost:8080/myWebApp
.
Я видел много ресурсов в Интернете, ссылающихся на файл application.properties
и добавляя это к пути к классам. Но я точно не знаю, где это сделать.
Вопросы
Ответы
Ответ 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
Ответ 4
В Spring Boot 2 свойство, например, в application.properties
имеет значение server.servlet.context-path=/myWebApp
для установки пути к контексту.
https://docs.spring.io/spring-boot/docs/2.0.1.BUILD-SNAPSHOT/reference/htmlsingle/#_custom_context_path
Ответ 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
В основном пост обсуждает несколько способов реализации этого, а именно.
- Java Config
- Аргументы командной строки
- Свойства системы Java
- Переменные среды ОС
- application.properties в текущем каталоге
- 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. Надеюсь, поможет.