大家好,又见面了,我是你们的朋友全栈君。
maven打包常用命令总结
开发过程中常见以下几个命令,这些命令执行后程序究竟发生了什么变化?生产环境如果使用shell脚本配置jenkins构建项目,如何使用命令呢?下面介绍一下我常用的命令
首先说明一下连个基本概念:
- 本地仓库路径,默认为.m2/repository,settings下面配置的
<localRepository>/path/to/local/repo</localRepository>
- 项目构建目录target/:用于存放mvn生产的class文件和jar包
基本命令介绍
1、mvn clean
清楚当前项目的target目录,执行后直接删除target/*
2、mvn compile
对当前项目进行编译,在target生产class文件
3、mvn package
相当于clean + compile + package,对项目先编译再打包,在target目录下生产project.jar
4、mvn install
相当于clean + compile + package+install,对项目先编译再打包,在target目录下生产project.jar,并且将jar包更新到本地仓库。
5、mvn deploy
相当于clean + compile + package+install+deploy,对项目先编译再打包,在target目录下生产project.jar,并且将jar包更新到本地仓库,最后根据<distributionManagement>
中配置的私服地址,将包发布到私服。
生产环境打包举例
1、生产环境根据源码构建项目:
mvn clean install -Dmaven.test.skip=true -pl project -am
说明:
- 项目一般为父子项目,在父母目录下构建子项目,或者直接到子项目构建单个子项目,本命令使用于直接根据源代码,构建最新jar包
- clean install 将最新jar包发布到本地仓库和项目target目录
- maven.test.skip=true忽略单元测试,防止测试代码报错
- -pl 指定构建某一个子项目,不指定构建全部子项目
- -am 构建当前项目时,项目依赖的模块也打最新包
2、可用用到的其他mvn参数介绍:
-P : 启用profile
-pl:指定打包的模块,可以用路径也可以用坐标,如果父项目同时是父目录,那么进入父目录下,直接“-pl 项目目录名”即可;
-am:意味着also-make (dependency),即同时打包依赖的模块;
-amd:意味着also-make-depnedents,即同时打包依赖该模块的模块;
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/135801.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...