zoukankan      html  css  js  c++  java
  • SpringBoot项目打war包,部署服务器

    Spring Boot由于内嵌了如Tomcat,Jetty和Undertow这样的容器,也就是说可以直接跑起来,用不着再像Spring项目还需要外置的Tomcat等容器来进行部署工作了,通过启动启动类就可以建立独立的Spring应用程序。Spring Boot部署在服务器上主要分为两种方式:一是打成jar包发布,二是打成war包发布,第一种方式只需要在该服务器中运行java -jar+部署项目的名称就可以启动(不要忘了.jar后缀名),操作比较简单,第二种方式操作比较复杂一点,并且是项目发布的常用打包方法,本编博客主要说明打成war包的方式如何部署到服务器中。

    一、pom.xml文件配置
        1.第三步将打包的方式改成war包:
            <packaging>war</packaging>
        2.第一步我们需要移除Spring Boot项目中内置的tomcat容器,并配置外部的tomcat容器:
            <!-- SpringBoot Web容器 -->
            <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>
        3.第二步添加servlet依赖:
            <!--servlet API依赖-->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <scope>provided</scope>
            </dependency>
        4.第四步修改打包的项目名称,使用build标签下的finalName标签修改:
            <build>
            <finalName>ROOT</finalName>
            </build>
    二、Spring Boot启动类配置(该配置有两种方式):
    1.第一种实现方式,启动类继承SpringBootServletInitializer类并重写configure方法:
    @SpringBootApplication(exclude = DataSourceAutoConfiguration.class,scanBasePackages = "com.fc.v2")
    public class V2Application extends SpringBootServletInitializer{
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            // 注意这里要指向原先用main方法执行的Application启动类
            return builder.sources(V2Application.class);
        }
        
        public static void main(String[] args) {
    
            SpringApplication.run(V2Application.class, args);
            System.out.println("( 启动成功!)");
        }
    
    }
    
    2.第二种实现方式,新建一个类继承SpringBootServletInitializer类并重写configure方法:(注意:该类要放在与启动类一致的目录下)
    public class V2WebInitializer  extends SpringBootServletInitializer{
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application)
        {
            return application.sources(V2Application.class);
        }
    }
    三、打包发布
        idea工具中,将要部署的项目打war包,前边已经设置打包名,ROOT.war;通过filezilla或者WinSCP类似工具将war包放在tomcat的webapp目录下,将该目录下的文件删完在放,用ROOT命名的好处是,只需要IP+端口号+项目首页路径 即可,不需要项目名
       如果第一步中build中的finalName为项目名,部署好访问路径就多个项目名称
    
    
  • 相关阅读:
    iOS 添加微信分享
    IOS学习笔记——ViewController生命周期详解
    UI之CALayer详解(转)
    iOS CALayer讲解
    [leetcode] Minimum Path Sum
    [leetcode]Binary Tree Maximum Path Sum
    我是真的想去google啊
    C++ string 用法详解
    继续存博客
    bash中 2>&1 & 的解释
  • 原文地址:https://www.cnblogs.com/ljc1212/p/15005745.html
Copyright © 2011-2022 走看看