SpringCloud模块打包部署

一、前言

公司项目架构是SpringCloud微服务,单个模块是SpringBoot,由于SpringBoot项目内置Tomcat容器,所以打包时打成Jar包,部署到Linux服务器后用命令java -jar (jar包的包名)xxxx.jar启动即可。

二、Idea中Maven生命周期

1. 9种生命周期

SpringBoot打成jar包我们一般使用spring-boot-maven-plugin这个插件
idea中maven插件生命周期

  • clean:清理,在进行真正的构建之前进行一些清理工作,移除所有上一次构建生成的文件。执行该命令会删除项目路径下的target文件,但是不会删除本地的maven仓库已经生成的jar文件。

  • validate:验证,验证工程是否正确,所需的信息是否完整。

  • compile:编译源码,编译生成class文件。编译命令,只编译选定的目标,不管之前是否已经编译过,会在你的项目路径下生成一个target目录,在该目录中包含一个classes文件夹,里面全是生成的class文件及字节码文件。

  • test:单元测试,测试。

  • package:打包,将工程文件打包为指定的格式,例如JAR,WAR等。这个命令拥有compile命令的功能进行编译,同时会在target目录下生成项目的jar/war文件。如果a项目依赖于b项目,打包b项目时,只会打包到b项目下target下,编译a项目时就会报错,因为找不到所依赖的b项目,说明a项目在本地仓库是没有找到它所依赖的b项目,这时就用到install命令了。

  • verify:核实,检查package是否有效、符合标准。

  • install:安装至本地仓库,将包安装至本地仓库,以让其它项目依赖。该命令包含了package命令功能,不但会在项目路径下生成class文件和jar包,同时会在你的本地maven仓库生成jar文件,供其他项目使用。如果a项目依赖于b项目,那么install b项目时,会在本地仓库同时生成pom文件和jar文件,解决了上面打包package出错的问题。

  • build:功能类似compile,只是只对整个项目进行编译。

  • site:站点,生成项目的站点文档。

  • deploy:复制到远程仓库。

  • 官方Maven生命周期介绍

2. 最常用的两种打包方法

  • clean,package,(如果报错,很可能就是jar依赖的问题);
  • clean,install

3. 打包时跳过Test测试类
打包时跳过Test测试类

三、项目部署到Linux

对于SpringBoot打成的jar,我们想要在服务器上运行,只需要服务器有JDK即可,因为SpringBoot自带Tomcat。
在服务器上运行打成的jar包,一般我们只需要执行:java -jar ****.jar 即可。

但是只是运行上面的jar的话,如果我们关掉了xshell之类的页面,该程序就会停掉,所以我们可以使用nohup对它进行后台运行:nohup java -jar ****.jar &即可。

当然我们也可以在运行时指定很多参数,比如端口号等等,基本上在配置文件配置的参数我们都是可以指定的:nohup java -jar ****.jar --server.port=9091 &

上面运行的程序会默认将程序的所有日志打到jar包所在目录的nohup.out文件中,其中的日志非常详细,会导致日志很多,一个定时任务会每天产生上百G的日志,而我们基本会在程序中打印logger日志,该处的日志会显得比较冗余。

/usr/bin/nohup /usr/bin/java -XX:+HeapDumpOnOutOfMemoryError -Xmx2g -Xms1g -jar -Dspring.config.location=ncs-entry-template/application.properties ncs-entry-template/ncs-entry-template-1.0.0-SHAPSHOT.jar > ncs-entry-template/entry-template.log 2>& 1&

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值