我使用Spring Boot创建了一个网络应用,但我不确定如何将网址从localhost:8080
更改为localhost:8080/myWebApp
之类的内容。
我看到很多资源在线引用application.properties
文件并将其添加到类路径中。但是,我不确定究竟放在哪里。
在我的src/main/resources
?
如何在文件中指定网址?
答案 0 :(得分:71)
您需要将属性server.contextPath
设置为/myWebApp
。
查看文档的this部分
设置该属性的最简单方法是在您正在使用的属性文件中(很可能是application.properties
),但Spring Boot提供了许多不同的设置属性的方法。查看文档的this部分
修改强>
正如@AbdullahKhan所提到的,从Spring Boot 2.x开始,该属性已被弃用,应该被server.servlet.contextPath
替换,正如this回答中正确提到的那样。
答案 1 :(得分:14)
在src/main/resources
中添加application.properties
或application.yml
并在其中添加server.contextPath
。
server.contextPath=/your/context/here
启动申请时,申请将在http://localhost:8080/your/context/here
。
有关要设置的属性的完整列表,请参阅Spring Boot参考指南的Appendix A.。
您可以在启动应用程序时将其作为系统属性传递,而不是将其放在application.properties中
java -jar yourapp.jar -Dserver.contextPath=/your/path/here
答案 2 :(得分:13)
从春季启动2开始,不推荐使用server.contextPath
属性。相反,您应该使用server.servlet.contextPath
。
所以在你的application.properties文件中添加:
server.servlet.contextPath=/myWebApp
答案 3 :(得分:2)
在Spring Boot 2中,例如在server.servlet.context-path=/myWebApp
中{{1}}设置上下文路径。
答案 4 :(得分:1)
如果
,则server.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中,右键单击项目 - &gt;以 - &gt;运行Spring Boot App。
答案 5 :(得分:0)
标题为Spring Boot Change Context Path的帖子中很好地解决了更改Spring应用程序上下文路径的问题。
基本上,该帖子讨论了实现此目标的多种方法。
答案 6 :(得分:0)
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也可以依赖于OS环境变量。在基于Unix的系统上,我们可以编写:
export SERVER_SERVLET_CONTEXT_PATH=/myWebApp
在Windows上,用于设置环境变量的命令为:
set SERVER_SERVLET_CONTEXT_PATH=/myWebApp
注意:这些解决方案适用于 spring boot 2.x.x 。希望对您有所帮助。