官网:Maven – Welcome to Apache Maven
镜像:https://developer.aliyun.com/mvn/guide (opens new window)
一:安装包路径介绍:
1)bin:包含了mvn的运行脚本,这些脚本用来配置java命令、classpath和相关的java系统属性,然后执行java命令。
- m2.conf :这是classworlds的配置文件。
- mvn :Linux执行命令,基于UNIX平台的shell脚本
- mvn.cmd :Windows bat命令,基于Windows平台的bat脚本。
- (补充:下面两个debug文件也是一样分别是windows和Linux平台的运行脚本)
- mvnDebug
- mvnDebug.cmd
那么mvn和mvnDebug有什么区别和关系呢?
-----两者基本是一样的,只是mvnDebug多了一条MAVEN_DEBUG_OPTS配置。
作用:运行maven的时候开启Debug,方便调试maven本身。
2)boot:只有plexus-classworlds.license文件
是一个类加载框架,提供了更加丰富的语法来方便配置,在maven中使用该框架来加载自己的类库。
3)conf:该目录中包含settings.xml文件。修改settings.xml文件,就可以在机器上全局地定制Maven行为。
4)lib:
该目录包含了所有Maven运行时候需要的java类库,Maven本身是分模块开发的,所以该目录下有maven-core-3.0.jar、maven-model-3.0.jar之类的文件。除此之外还有,Maven用到的第三方依赖:如common-cli-1.2.jar、google-collection-1.0.jar等. lib目录就是真正的maven。
5)LICENSE.txt:
--该目录下记录了 Maven使用的软件许可证Apache License Version 3.0;
6)NOTICE.txt:
--记录了Maven包含的第三方软件。
7)README.txt:
--该目录下包含的是Maven简要的介绍。包括安装需求 以及如何安装的简要指令等。
镜像仓库:
<mirrors>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
Maven使用流程简图
IntelliJ IDEA Maven 面板提供了操作控制
clean:清理,执行该命令会删除项目路径下的target文件,但是不会删除本地的maven仓库已经生成的jar文件。
validate:验证,验证工程正确性,所需信息完整否。
compile:编译,生成.class文件。
test:测试,单元测试。
package:打包,将工程文件打包为指定的格式,根据pom文件中的packaging标签中的打包类型类进行选定打包的文件格式。执行该命令会在项目下生成一个target目录文件。
verify:核实,主要是对package检查是否有效,符合标准。
install:安装,将包安装至本地仓库,以让其它项目依赖。
site:站点,生成项目的站点文档。
deploy:配置部署,复制到远程仓库。备注:需要在POM文件中和Maven里的配置文件中添加上账号相关信息。
推送本地jar包到远程仓库:
mvn deploy:deploy-file -Dfile=/path/to/jar/file -DgroupId=com.example -DartifactId=my-jar -Dversion=1.0 -Dpackaging=jar -Durl=http://myrepo.com/nexus/content/repositories/releases/ -DrepositoryId=my-repo
-Dfile:jar包地址
-DgroupId:groupId
-DartifactId:artifactId
-Dversion:版本号
-Dpackaging:打包方式
-Durl:指定远程仓库的地址
-DrepositoryId:远程仓库的ID