我正在尝试重命名Spring MVC Web应用程序。
当我运行它时,URL中有一个旧名称:
http://localhost:8080/oldName/

在项目“属性”>“资源”中,设置路径:/ newName
以及在Web项目设置中,上下文根:newName

但这没用,我仍然有http://localhost:8080/oldName/
如何重命名?

最佳答案

有多种方法,这取决于您是否使用例如spring-boot:


在application.properties/yml文件中:



server.servlet.context-path = / newName



Java系统属性:


您还可以在初始化上下文之前将上下文路径设置为Java系统属性:

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



操作系统环境变量:


Linux:


导出SERVER_SERVLET_CONTEXT_PATH = / newName


视窗:


设置SERVER_SERVLET_CONTEXT_PATH = / newName


上面的环境变量用于Spring Boot 2.x.x,如果有1.x.x,则该变量是SERVER_CONTEXT_PATH。


命令行参数


我们也可以通过命令行参数动态设置属性:


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



使用Java Config


在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");
}



Eclipse + Maven

<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>


Eclipse +摇篮


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


以下链接可能会有所帮助:


Baeldung.com
Mkyong.com

10-06 10:17