公司改用springboot的时候,将页面相关的文件都放在了src/main/webapp下,我直接通过main方式启动的时候,无法读取到src/mian/webapp下文件,但是通过spring-boot:run方法又可以读取到src/mian/webapp下文件,这是什么原因?
要如何才能让main方式可以调用到src/mian/webapp下文件,因为我现在用spring-boot:run方法启动的时候无法debug
试试下面的步骤:
1.添加spring-boot-starter-web依赖:
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.5.4.RELEASE</version>
</dependency>
2.在Application类中添加 @EnableWebMvc 注解。
加上@EnableWebMvc表示忽略SpringBoot默认的/static目录,使用src/main/webapp目录作为静态资源目录。此外,你可能还需要重新制定静态资源的处理方式,就像这样:
@SpringBootApplication
@EnableWebMvc
public class ServerApplication extends WebMvcConfigurerAdapter {
public static void main(String[] args) {
SpringApplication.run(ServerApplication.class, args);
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
super.addResourceHandlers(registry);
registry.addResourceHandler("/**").addResourceLocations("/");
}
}
######
楼主解决了吗,正碰都这个问题,半天没搞定
######在楼下发了解决方案,可以看下######在网上找到的解决方案:pom.xml中添加以下内容,意思就是编译的时候把webapp文件放到resource下
<resources> <resource> <directory>src/main/webapp</directory> <!--注意此次必须要放在此目录下才能被访问到 --> <targetPath>META-INF/resources</targetPath> <includes> <include>**/**</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <include>**/*</include> </includes> </resource> </resources>######谢谢!有用
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。