Springboot的jar包和war包问题

开始

Springboot默认是将web项目打成jar通过它内置的tomcat进行运行,但是它也可以打成war包运行,但war包和jar包的区别非常大

war包

如果打成war包项目里必须有webapp目录,因为如果使用spring快速构建时没有的,开发时和普通ssm框架开发一样把静态资源文件和网页文件放到webapp下,不能放到resources下,否则maven会将文件放到web-inf的class文件下,这样会无法访问。注意要对启动类进行改造。

jar包

当打成jar包时,最好不要使用webapp文件夹,当maven打包时,不会编译webapp文件夹,虽然在开发时可以访问,但打成jar包后里面是没有webapp的资源的。我们需要静态文件和网页文件放在resources特定目录下。

  • resouces/META-INF/resouces
  • resouces/resouces
  • resouces/static
  • resouces/public
  • /

放在这些目录下可以直接访问。也可以自己通过spring.resources.static-location指定目录

我们也可以使用webapp,但需要在pom文件里进行配置,将webapp指定编译。

在pom文件夹下进行如下配置才可以使用webapp文件夹

        
            
                src/main/webapp
                META-INF/resources
                
                    **/**
                
            
        
    
       
            
            src/main/resources
            
            ${project.build.directory}/classes
            
            
                pro/*
                dev/*
                test/*
            
            
            
                
            
            
            true
        
        
        
        
         
            
                src/main/webapp
                META-INF/resources
                
                    **/**
                
            
        

注意:在springboot2.xx后像css,js等文件放在static后无法直接访问

你可能感兴趣的:(笔记,spring,boot)