zoukankan      html  css  js  c++  java
  • 使用maven构建项目时,SSM和springboot项目的打包与云服务器部署

    下面讲讲如何打包SSM和springboot项目,并部署到云服务器上。

    由于使用的IDE不同,有的使用eclipse,有的使用idea,所以如果在IDE中按照 maven clean 再 maven install的方式打包会稍有不同,下面介绍一种通用的方式,不论SSM项目还是springboot项目,不论使用的是eclipse还是idea,我们直接在dos界面,使用命令进行打包。

    以一个例子进行演示:

    首先需要在pom.xml中定义打包的类型

    然后在dos界面,进入该项目下,运行下面的命令进行打包。

    mvn clean package -D maven.test.skip=true 

    这样就会在我们自己设置的output目录下(一般为target目录)生成该项目的war包

    这样,我们就得到了该项目的war包,然后我们可以把springboot和SSM的war包放到tomcat的webapp目录下就可以了。

    ~~~~~~~~~~~~~~~~~~~~~~~~~

    将springboot项目当为普通的web项目 部署在tomcat的webapp下时,需要加上下面这个类,并让它被扫描到。

    import org.springframework.boot.builder.SpringApplicationBuilder;
    import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
    
    /**
     * 继承SpringBootServletInitializer,相当于以web.xml的方式去启动部署
     * @author Administrator
     *
     */
    public class WarStartApplication extends SpringBootServletInitializer{
    
       
       
       /*重写该方法
        */
       @Override
       protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
          //使用web.xml运行应用程序,指向springboot,最后启动springboot
          return builder.sources(ProfileApplication.class);
       }
       
    
    }
    
    

    ~~~~~~~~~~~~~~~~~~~~~~~~~~

    如果我们打包的是springboot项目,还有第二种方式,我们还可以使用springboot自带的tomcat,可以使用jar -jar 的命令 启动该项目,也是可以的。

    java -jar /developer/collegeo2o-0.0.1-SNAPSHOT.war

    不过使用java -jar 启动该springboot项目时,如果我们关闭了SSH的连接终端,或者退出该运行模式时,那么该springboot内置的tomcat就相当于被关闭了,这样我们就无法访问到项目,所以我们可以使用一点点linux的知识,编写脚本,在后台运行该war。

    nohup java -jar /developer/collegeo2o-0.0.1-SNAPSHOT.war &

    然后我们执行该脚本就相当于启动了该项目,只有在我们重启服务器或者强行关闭该进程的时候该项目才会停止。

    =========================================================================

    以上就是在使用maven构建项目的时候,打包并部署SSM和springboot项目。两者都是相似的,都可以部署到我们自己的tomcat服务器中,特殊的是,springboot项目可以独立运行(内置tomcat); 另外如果部署springboot时使用了我们自己的tomcat,那么需要在server.xml中配置docBase  资源才能正常访问到,而使用内置tomcat时,我们已经在WebMvcConfig类中配置了资源的映射,所以不需要在加docBase.

  • 相关阅读:
    Array互转xml
    Android检测网络是否可用
    [LeetCode#117]Populating Next Right Pointers in Each Node II
    [LeetCode#23]Merge k Sorted Lists
    [LeetCode#83]Remove Duplicates from Sorted List
    [LeetCode#147]Insertion Sort List
    [LeetCode#55, 45]Jump Game, Jump Game II
    [LeetCode#125]Valid Palindrome
    [LeetCode#]Populating Next Right Pointers in Each Node
    [LeetCode#134]Gas Station
  • 原文地址:https://www.cnblogs.com/devise/p/9974669.html
Copyright © 2011-2022 走看看