maven多模块构建中常用的参数
多模块项目中需要使用不同的参数实现不同的构建目的,常用参数:
-am --also-make 同时构建所列模块的依赖模块;
-amd -also-make-dependents 同时构建依赖于所列模块的模块;
-pl --projects <arg> 构建制定的模块,模块间用逗号分隔;
-rf -resume-from <arg> 从指定的模块恢复反应堆。
假设有聚合模块:account-parent ,包含如下几个子模块:account-core, account-web,account-sys-web。两个web模块依赖于account-core
account-parent
----------account-core
----------account-web
----------account-sys-web
----------pom.xml
-pl 构建制定模块
mvn clean install -pl accouont-web 只构建web模块,这里一次可以指定多个模块用逗号分隔
-am 选项可以同时构建所列模块的依赖模块。
mvn clean install -pl account-web -am 构建account-web的同时会构建它依赖的account-core
-amd 选项可以同时构建依赖于所列模块的模块,与am相反。
mvn clean install -pl account-core -amd
会构建core和两个web模块
-rf 选项可以在完整的反应堆构建顺序基础上,指定从哪个模块开始构建。
mvn clean install -rf account-web ,由于web位于第二,它之后有account-sys-web,因此会构建两个web模块
「基础」使用Git和Maven简单实现自动部署
自动化部署
之前在开发项目部署时,都是手动找到要部署的文件并确定位置,然后通过FTP(SecureFx)等工具进行上传至服务器指定目录,操作繁琐还容易漏掉部分文件,下面通过依赖Git和Maven来实现一个简单的自动化部署。
服务器使用CentOS操作系统,在开发前首先要配置服务器环境,需要安装JDK(1.8版本)、Tomcat(8版本)、Git(1.8.3.1版本)、Maven(3.5.3版本)等软件,下面简单对Maven和Git的安装和配置进行说明。
Git
在CentOS系统中可以直接使用“yum install git”进行安装,安装完成后可以通过“git --version”查看版本,然后配置账号信息。可以通过秘钥的进行账号配置,个人项目可以使用GitHub作为代码托管,公司项目可以搭建自己GitLab服务器进行代码版本控制。首先通过“cd ~/.ssh”查看是否本地已生成密钥,如果不存在的话可以通过“ssh-keygen -t rsa -C "git账号邮箱"”进行生成密钥(一直默认生成即可,可不设密码)。生成密钥之后,将其配置到GitHub上,可在“https://github.com/settings/keys”进行配置,前提需要先登录到GitHub上,至此Git的安装和配置就完成了。
Maven
首先到Maven的官网下载Maven的压缩包,下载地址为:http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz。可以通过wget直接下载到服务器上。下载完毕后通过“tar”进行解压,然后配置Maven的环境变量,修改/etc/profile文件在里面配置MAVEN_HOME,如下面的代码所示:
MAVEN_HOME=/home/worker/maven/
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$MAVEN_HOME/bin
export JAVA_HOME JRE_HOME PATH CLASSPATH
环境配置完成之后,可以使用“mvn -version”命令进行查看Maven的版本信息,如果出现下图所示的信息,则说明配置成功。
查看Maven版本信息
自动化部署
以上环境配置完成后,下面就可以使用脚本进行拉取项目、打包编译、部署。新建一个deploy.sh文件,添加如下脚本代码:
01. #!/bin/sh
02. kill -9 `ps aux |grep java|awk '{print $2}'`
03. cd /home/git-project/demo
04. mvn clean
05. git pull origin master
06. mvn package
07. rm -rf /home/tomcat/webapps/ROOT
08. cd /home/git-project/demo/target
09. unzip demo.war -d /home/tomcat/webapps/ROOT
10. cd /home/tomcat/bin
11. ./startup.sh &
代码说明
第一行是脚本程序开始说明,第二行是结束Tomcat进程(简单粗暴,不建议),第三行是进入项目源文件目录(首次从GitHub上clone下来),第四行是使用mvn清理项目,第五步拉取最新的代码,第六步是Maven打包,第七步是移除Tomcat下的原始文件,第八步是进入打包生成的war包目录,第九步是通过unzip(可用过yum install unzip安装命令)解压war包至Tomcat的ROOT目录,第十步是进入Tomcat启动脚本目录,第十一步是启动项目(脚本最后以“&”结束)。编写好脚本后,还要通过“chmod +x”是该文件可执行,最后通过./deploy.sh就可以简单的进行自动化部署啦~
总结
本文章只是简单对自动化部署进行简单使用和说明,目前大多使用Jenkins作为自动化部署工具,提供可视化界面(网页)进行开发和部署操作,极大简化了部署流程,使软件的持续集成变成可能。今天得分享就到这了,如有帮助记得关注编程技术栈,给予支持,谢谢!
相关问答
帮个忙大神们 有谁清楚!暖通工程中TWS和TWR是什么意思?
[回答]首先你玩的什么版本?2.0的F15要比1.12的F15强劲很多。1.边追踪边扫描模式(TWS)主要用作远距离压制,可以和多个敌人激战。转换到TWS后如果雷达俯仰角...
你最推荐的厨房小家电有哪些?
swipe_mode=1&url=https%3A%2F%2Fs.click.taobao.com%2Ft%3Fe%3Dm%253D2%2526s%253DDYkn7iTMvnxw4vFB6t...