Maven构建命令
前提
运行 Maven 中和构建操作相关的命令时,必须进入到 pom.xml 所在的目录。如果没有在 pom.xml 所在的目录运行 Maven 的构建命令,那么会看到下面的错误信息
The goal you specified requires a project to execute but there is no POM in this directory
清理操作
mvn clean
效果:删除 target 目录
编译操作
主程序编译:
mvn compile
测试程序编译:
mvn test-compile
主体程序编译结果存放的目录:target/classes
测试程序编译结果存放的目录:target/test-classes
测试操作
mvn test
测试的报告存放的目录:target/surefire-reports
打包操作
mvn package
打包的结果——jar 包,存放的目录:target
安装操作
mvn install
[INFO] Installing D:\maven-workspace\space201026\demo-maven-java\target\demo-maven-java-1.0-SNAPSHOT.jar to D:\maven-rep1026\com\wuxian\maven\demo-maven-java\1.0-SNAPSHOT\demo-maven-java-1.0-SNAPSHOT.jar
[INFO] Installing D:\maven-workspace\space201026\demo-maven-java\pom.xml to D:\maven-rep1026\com\wuxian\maven\demo-maven-java\1.0-SNAPSHOT\demo-maven-java-1.0-SNAPSHOT.pom
安装的效果是将本地构建过程中生成的 jar 包存入 Maven 本地仓库。这个 jar 包在 Maven 仓库中的路径是根据它的坐标生成的。
坐标信息如下:
<groupId>com.wuxian.maven</groupId>
<artifactId>demo-maven-java</artifactId>
<version>1.0-SNAPSHOT</version>
在 Maven 仓库中生成的路径如下:
maven本地仓库地址\com\wuxian\maven\demo-maven-java\1.0-SNAPSHOT\demo-maven-java-1.0-SNAPSHOT.jar
另外,安装操作还会将 pom.xml 文件转换为 XXX.pom 文件一起存入本地仓库。所以我们在 Maven 的本地仓库中想看一个 jar 包原始的 pom.xml 文件时,查看对应 XXX.pom 文件即可,它们是名字发生了改变,本质上是同一个文件。