compile : 编译
maven工程的编译命令,主要作用是将 src/main/java 下的文件编译为class文件输出到target目录下。也会将src/main/resources下的配置文件复制到target目录下,但是不会删除本地的maven仓库已经生成的jar文件。
mvn compile
clean:清理
maven工程的清理命令,执行clean会删除target目录及内容
mvn clean
test:测试
maven工程的测试命令,作用是执行 src/test/java 下单元测试类,并编译为class文件,且运行所有的测试类。还执行了compile命令
mvn test
package:打包
maven工程的打包命令,对于java工程执行package打成jar包,对于web工程打成war包。还会执行test命令
mvn package
install:安装
maven工程的安装命令,执行install将mave工程打成jar包或war包,并发布到本地仓库(将软件包安装到本地存储库中,以作为本地其它项目中的依赖项。)。 还会执行package命令
mvn install
validate
验证项目的正确性。这也确保了依赖项已下载。
mvn validate
deploy:部署
将最终软件包复制到远程存储库,以便与其他开发人员和项目共享。
mvn deploy
verify:验证
运行任何检查,验证包是否有效且达到质量标准。
mvn verify
site:文档
生成应用程序的文档。包括:代码规范、覆盖率等
mvn site
跳过测试
# 编译时跳过测试
mvn -Dmaven.test.skip=true
# 打包时 跳过测试
mvn package -Dmaven.test.skip=true
# 安装时跳过测试
mvn install -Dmaven.test.skip=true
组合命令使用
先清理,在打包,并且在打包时跳过测试
mvn clean package -Dmaven.test.skip=true
其他命令
mvn -v //查看版本
mvn -e 显示详细错误 信息.
mvn archetype:create //创建 Maven 项目
mvn test-compile //编译测试代码
# ----------创建项目---------------------
mvn archetype:generate 创建mvn项目,使用Archetype生成项目骨架
mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app 创建mvn项目
# 创建Maven的普通java项目:
mvn archetype:create -DgroupId=packageName -DartifactId=projectName
# 创建Maven的Web项目:
mvn archetype:create -DgroupId=packageName -DartifactId=webappName-DarchetypeArtifactId=maven-archetype-webapp
mvn dependency:list //查看已解析依赖
mvn dependency:tree com.xx.xxx //看到依赖树
mvn dependency:analyze //查看依赖的工具
mvn help:system //从中央仓库下载文件至本地仓库
mvn help:active-profiles //查看当前激活的profiles
mvn help:all-profiles //查看所有profiles
mvn help:effective -pom //查看完整的pom信息
mvn generate-sources 产生应用需要的任何额外的源代码,如xdoclet。
mvn install:install-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar -DdownloadSources=true -DdownloadJavadocs=true
# 刷新子模块版本号:
mvn versions:update-child-modules
# ------------优化依赖命令-------------
mvn dependency:list 显示所有已经解析的所有依赖
mvn dependency:tree 以目录树的形式展现依赖, 最高层为一层依赖 其次二层依赖 三层依赖....
mvn dependency:analyze 第一部分显示 已经使用但是未显示依赖的的 第二部分显示项目未使用的但是依赖的