当前位置:   article > 正文

SpringCloud模块打包部署_spring cloud 打包

spring cloud 打包
一、前言

公司项目架构是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&

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/786858
推荐阅读
相关标签
  

闽ICP备14008679号