使用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.

posted @ 2018-06-19 22:47  宇宙间的星河集  阅读(1072)  评论(0编辑  收藏  举报