Spring Boot 2.0静态内容不使用上下文路径

时间:2018-04-20 15:03:49

标签: spring spring-boot war contextpath

我有一个Spring Boot 2.0应用程序,我试图将其部署为WAR文件。这意味着它将具有自定义上下文路径。要作为Java应用程序进行测试,我添加了

server.servlet.context-path=/MyApplication

到application.properties。在我的index.html(位于src / main / resources / static中)中,我尝试使用以下内容包含Javascript:

<script src="dist/main.js"</script>

无论我是否使用上下文路径,这总是试图从http://localhost:8080/dist/main.js加载文件,完全忽略我指定的上下文路径。如果我尝试将我的应用程序部署为WAR,情况也是如此。该文件实际上位于http://localhost:8080/MyApplication/dist/main.js

在配置中需要更改什么才能使Spring Boot在提供静态内容时使用上下文路径?

2 个答案:

答案 0 :(得分:2)

我只是想通了。在我的index.html中,我设置了一个基本的href:

<base href="/">

我将index.html转换为JSP并使用JSP标记设置基本href:

<base href='<c:url value="/" />'>

答案 1 :(得分:0)

将index.html中的<base href="/">修改为以下内容,

<base href="./">

这将尝试从指定的上下文路径加载所有脚本,并为我解决了该问题。