Как переименовать корень контекста веб-приложения Spring MVC?

Я пытаюсь переименовать свое веб-приложение Spring MVC. Когда я запускаю его, в URL-адресе есть старое имя: http://localhost:8080/oldName/

В свойствах проекта>Ресурс я устанавливаю путь: /newName, а также в настройках веб-проекта, корень контекста: новоеимя

Но это не сработало, у меня все еще есть http://localhost:8080/oldName/ Как его переименовать ?


person jarosik    schedule 19.01.2016    source источник
comment
Проверьте, как изменить контекстный путь проекта, и вы можете сделать это из POM.xml.   -  person We are Borg    schedule 19.01.2016


Ответы (1)


Существует несколько способов, и это зависит от того, используете ли вы, например, spring-boot или нет:

  1. В файле application.properties/yml:

server.servlet.context-path=/новоеИмя

  1. Свойство системы Java:

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

public static void main(String[] args)
{
    System.setProperty("server.servlet.context-path", "/newName");
    SpringApplication.run(Application.class, args);
}
  1. Переменная среды ОС:

Линукс:

экспорт SERVER_SERVLET_CONTEXT_PATH=/новоеИмя

Окна:

установить SERVER_SERVLET_CONTEXT_PATH=/newName

Приведенная выше переменная среды предназначена для Spring Boot 2.xx. Если у нас есть 1.xx, переменная SERVER_CONTEXT_PATH.

  1. Аргументы командной строки

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

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

  1. Использование конфигурации Java

С Spring Boot 2 мы можем использовать WebServerFactoryCustomizer:

@Bean
public WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> webServerFactoryCustomizer() {
    return factory -> factory.setContextPath("/newName");
}

С Spring Boot 1 мы можем создать экземпляр EmbeddedServletContainerCustomizer:

@Bean
public EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer() {
    return container -> container.setContextPath("/newName");
}
  1. Затмение + Мейвен

    <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-eclipse-plugin</artifactId> <version>2.9</version> <configuration> <wtpversion>2.0</wtpversion> <wtpContextName>newName</wtpContextName> </configuration> </plugin>

    1. Eclipse + Gradle

    apply plugin: 'java' apply plugin: 'war' apply plugin: 'eclipse-wtp' eclipse { wtp { component { contextPath = 'newName' } } }

Следующие ссылки могут быть полезны:

person Furkan Yavuz    schedule 26.10.2018