博客系统项目之项目部署

有关项目的介绍及相关说明请查看上一篇博客:blogs博客系统项目介绍


这里总结一下,项目的部署运行方式,总有以下几种:

一、IDE中直接运行Application.java main方法

1、直接git clone https://github.com/Jump-Boy/blogs 或者下载源代码后,导入IDE或者IDE中clone,(注意源码中圈起来的文件可以删去)

博客系统项目之项目部署

然后选择gradle构建项目,项目会自动下载需要的依赖,然后编译构建

2、然后我们需要修改application.properties配置文件中的相关信息,如数据库配置,修改为自身的参数,url、登录名以及密码等等,还需要在你的数据库中初始化一个blogs的库。也可以配置项目上下文路径以及项目端口号,配置你的es地址,文件服务器地址。

application.properties中可能需要修改的内容

博客系统项目之项目部署

这里需要注意还要修改resouces下的“static/js/userspace/blogedit.js”和“static/js/userspace/main.js”两个js文件中文件服务器路径

(文件服务器在上一篇文章中提到了,请参考上一篇以及这里,同样clone导入项目后,需要将其中application.properties中的server.address改为service.address。这个使用来在其中代码中取该变量值,来拼接最终的文件上传后的路径。

博客系统项目之项目部署

构建运行,具体可参考其中的readme,值得注意的一点是,可以内嵌的Embedded MongoDB,也可以运行于外置的MongoDB服务,需要你搭建有一个可运行的MogoDB,内嵌和外置的不同之处在于,内嵌的方式在我们每次重启项目时候原先已有的数据会丢失清空,而外置是不受影响的,因为数据存放于你外置的MongoDB服务Data下)。

如果部署的文件服务器并未做任何配置修改,那么下面两个js文件修改跳过。

static/js/userspace/blogedit.js可能需要修改的内容

博客系统项目之项目部署

static/js/userspace/main.js可能需要修改的内容

博客系统项目之项目部署

以上配置完成后,我们先运行启动你的es服务(我是采用的解压版es,直接运行.bat),然后启动文件服务。

3、最后直接项目中的Application.java中的main,即可启动项目。(可以测试访问了)

博客系统项目之项目部署

二、通过gradlew bootRun直接启动项目

clone项目源码后,继续第一种方法中的第2步,然后可以直接在命令行窗口,项目根路径下运行

gradlew bootRun

即可启动项目。(可以测试访问了)

三、运行可执行jar包

同样clone项目源码后,继续第一种方法中的第2步,然后可以直接在命令行窗口,项目根路径下运行

gradlew build

 编译构建项目完成后,会在项目路径下的build/lib/下生成两个jar包,我们运行其中以.jar结尾的jar包即可,这是一个可执行的jar包(内置了服务容器)。运行jar包即可启动项目。(可以测试访问了)

四、将项目打成war包,部署至外部容器(如tomcat)中

clone项目源码后,继续第一种方法中的第2步,在第二步中完成后,我们还需要额外修改build.gradle文件,增加war插件,同时将jar修改为war。

博客系统项目之项目部署

同时需要将application.properties中的server配置注释掉。因为我们采用了外置容器,项目端口号以及项目路径均在tomcat中配置

博客系统项目之项目部署

修改完后可以直接在命令行窗口,项目根路径下运行

gradlew build

 编译构建项目完成后,会在项目路径下的build/lib/下生成两个war包,我们运行将以.war结尾的war包copy到我们的tomcat的wabapps下即可,运行tomcat即可启动项目。务必保证tomcat的版本为8及8以上(可以测试访问了,默认访问路径“IP:端口号//解压后的项目名”,如localhost:8080/blogs即可访问博客首页)


以上四种启动方式,其实都是SpringBoot项目的特性,具体可参考这里SpringBoot入门之项目搭建与运行

事实上,要想通过war形式部署项目,还需要编写额外的代码,继承 SpringBootServletInitializer 并重写 configure 方法,只不过这里项目中已经编写好了,所以不要再敲了。

博客系统项目之项目部署

 关于SpringBoot war包方式还可以参考这里:http://humh.cn/blogs/u/humh/blogs/6