Spring boot: 配置它找到webapp文件夹
Spring boot: configure it to find the webapp folder
默认情况下,Spring Boot 在我的 src/main/webapp 文件夹中查找我的 html 文件。如果我使用另一个文件夹放置 html 文件,我可以在哪里更改 Spring 启动的设置?
稍后,文件将打包在 jars 中以供部署。还有其他需要担心的事情吗?
静态资源加载自/static
、/public
、/resources
、/META-INF/resources
如果您将应用程序打包为 JAR(部署 .jar),不建议使用 src/main/webapp
。
您可以通过覆盖 WebMvcConfigurerAdapter
中的 addResourceHandlers
方法来自定义它
@Configuration
public class MvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry){
registry.addResourceHandler("/**")
.addResourceLocations("/")
.setCachePeriod(0);
}
}
如上所述,jar
包装忽略了 webapp
内容。如果您仍想包含 webapp
文件夹中的内容,则需要在 Maven POM.xml
配置中明确指定,如下所示 -
<build>
<resources>
<resource>
<directory>src/main/webapp</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources> ...
默认情况下,Spring Boot 在我的 src/main/webapp 文件夹中查找我的 html 文件。如果我使用另一个文件夹放置 html 文件,我可以在哪里更改 Spring 启动的设置?
稍后,文件将打包在 jars 中以供部署。还有其他需要担心的事情吗?
静态资源加载自/static
、/public
、/resources
、/META-INF/resources
如果您将应用程序打包为 JAR(部署 .jar),不建议使用 src/main/webapp
。
您可以通过覆盖 WebMvcConfigurerAdapter
addResourceHandlers
方法来自定义它
@Configuration
public class MvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry){
registry.addResourceHandler("/**")
.addResourceLocations("/")
.setCachePeriod(0);
}
}
如上所述,jar
包装忽略了 webapp
内容。如果您仍想包含 webapp
文件夹中的内容,则需要在 Maven POM.xml
配置中明确指定,如下所示 -
<build>
<resources>
<resource>
<directory>src/main/webapp</directory>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources> ...