SpringBoot打包部署

Spring Boot项目部署和打包:基于Jar

在pox.xml配置文件中添加打包组件

<build>
    <plugins>
        <!-- 打jar包时如果不配置该插件,打出来的jar包没有清单文件 -->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

Spring Boot项目部署和打包:基于war

修改pom.xml

<packaging>war</packaging>

排除springboot自带的tomcat

 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
     <exclusions>
            <exclusion>
             	<groupId>org.springframework.boot</groupId>
             	<artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
     </exclusions>
 </dependency>
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-tomcat</artifactId>
     <scope>provided</scope>
</dependency>

把tomcat排除以后还要依赖,请注意这个时候的作用域是 provided,也就是告诉springboot在编译和打包的时候回依赖一下容器中提供的servlet和jsp环境,但是在最终的war中会自动排除在外。否则会出现打包失败的情况,因为没有servlet容器环境

启动类继承SpringBootServletInitializer

@SpringBootApplication
@MapperScan("com.itbooking.mapper")
public class ItbookingAppApplication  extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(ItbookingAppApplication.class, args);
    }
    
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(ItbookingAppApplication.class);
    }
}

在pom.xml修改工程的名称为ROOT

<build>
    <!---必须是全大写,不能小写-->
    <finalName>ROOT</finalName>
</build>

打包方式可以引入上图的,或者图下

 

注意:小编碰到个坑,如果服务器tomcat权限不是给777的话,就会访问404,这时只需要在服务器tomcat文件设置成777所有权限即可

 

希望这篇文章对您有帮忙

本站资源除特别声明外,转载文章请声明文章出处
东泰博客 » SpringBoot打包部署

发表评论