使用Maven指令的三种方式
方式一:通过命令行
1、在idea主界面左下角找到Terminal点击进入,直接数据命令行即可
注意:该方式的优势是比IDE自动解析、下载jar包依赖要快非常多,而且不容易出现下载一半卡死的状况。
方式二:通过Edit Configuration选项
2、像配置tomcat那样,找到如图的Edit Configuration选项,点击进入后再括号里找到maven选项,然后在command line处输入命令即可
注意:使用方式一需要添加mvn才能执行maven命令,第二种方式本身就是在maven的命令模块,所以不需要添加mvn前缀
方式三:Maven图形界面执行
可通过IDEA提供的Maven图形界面执行:
双击对应的命令即可执行。左上角的两个圆圈可以进行jar包依赖的刷新。
禁用单元测试
在执行打包构建时如果不需要执行单元测试,可选择闪电符号。
alt或command选择多个命令同时执行:
常见的maven命令总结:
mvn -v
//查看版本mvn compile
//编译源代码mvn install
//在本地 Repository 中安装 jarmvn test
//运行应用程序中的单元测试mvn site
//生成项目相关信息的网站mvn package
//依据项目生成 jar 文件mvn install
//在本地 Repository 中安装 jarmvn clean
//清除目标目录中的生成结果mvn clean compile
//将.java类编译为.class文件mvn clean package
//进行打包mvn clean test
//执行单元测试mvn clean deploy
//部署到版本仓库mvn clean install
//使其他项目使用这个jar,会安装到maven本地仓库中mvn help:system
//从中央仓库下载文件至本地仓库mvn help:active-profiles
//查看当前激活的profilesmvn help:all-profiles
//查看所有profilesmvn help:effective -pom
//查看完整的pom信息
项目目录结构:
--P(父工程pom)
-- A (子工程 - common)
-- B (子工程 - biz 依赖common)
-- C (子工程 - Web 依赖B、间接依赖A)
创建普通Maven项目mvn archetype:create -DgroupId=packageName -DartifactId=projectName
创建之后,可以用IDE进行项目导入。
创建Web Maven项目mvn archetype:create -DgroupId=packageName -DartifactId=webappName -DarchetypeArtifactId=maven-archetype-webapp
创建之后,可以用IDE进行项目导入。
发布第三方Jar到本地库中mvn install:install-file -DgroupId=xxx.xx.xxxx -DartifactId=xxx -Dversion=0.0.1 -Dpackaging=jar -Dfile=路径/xxx-0.0.1.jar
清除历史打包并重新打包mvn clean package
最常用的命令之一。
强制检查更新后打包mvn clean package -U
-U参数,强制检查更新,防止缓存等原因使用历史依赖,在自动化发布脚本中会经常用到。
打包排除单元测试mvn clean package -Dmaven.test.skip=true
打包并指定环境mvn clean package -P test
test为maven中配置的不同打包环境名称。
打包指定子项目和父项目mvn clean install -pl C -am -Dmaven.test.skip=true
说明:对父工程P、子模块C、以及子模块C依赖的B、A模块执行mvn clean install操作,涉及到的P、A、B、C模块全部install到本地。
在自动化构建时,通常会用到该组命令,对于基础板块可将install命令换成deploy命令,发布到私服中。
只打包父工程mvn clean install -N
只打包父工程P,子模块不会执行相关操作。有父子关系的项目构建上传到私服时,往往需要先构建上传父项目(pom项目)。
只打包A工程mvn clean install -pl A -am
由于A工程不依赖其他模块,因此仅对P和A进行mvn clean install操作。
被依赖项目打包mvn clean install -pl A -amd
对父工程P、子模块A以及依赖于A模块的B、C模块执行mvn clean install操作。使用场景:基础的common模块变更了,通过该命令将依赖common的其他模块也进行重新mvn clean install操作。
Jar包发布mvn clean deploy -Dmaven.test.skip=true
上述命令可以对jar包进行打包发布到仓库,同时需要在pom.xml中通过distributionManagement元素配置要发布的私有仓库地址信息。私有仓库的密码等信息在setting.xml文件中配置。
打包指定setting.xml文件mvn clean package -s settings.xml
万能的命令
最后,还有一个万能的命令,help命令:mvn -help
或 mvn -h
cp命令java -cp lib/* com.it18zhang.calllog.consumer.HbaseConsumer
加载外部配置文件,有时需要将jar中的配置文件放到外面目录下,好方便修改.