我正在尝试重命名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