1、maven生命周期:
clean
validate
compile
test
package
verify
install
site
deploy
mvn clean 清理target
mvn complie 编译 class -target
mvn package 打包 生成可部署的jar包
mvn install 将jar包放到本地仓库
mvn deploy 将jar包部署到远程仓库
2、settting.xml配置文件
3、远程仓库的配置 本地仓库 私服 远程仓库
http://www.cnblogs.com/duanxz/p/5210189.html
让Maven项目使用Nexus(专门的 Maven 仓库管理软件来搭建私服)作为远程仓库的settings.xml配置
远程仓库的配置 setting.xml:
<profiles>
<profile>
<!-- 配置远仓库 -->
<id>test</id>
<repositories>
<repository>
<id>def</id>
<url>xxx</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>local private nexus</name>
<url>xxx</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>t
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>test</activeProfile>
</activeProfiles>
远程仓库的认证
<servers>
<server>
<id>Releases</id>
<username>admin</username>
<password>test</password>
</server>
<server>
<id>Snapshots</id>
<username>admin</username>
<password>test</password>
</server>
</servers>
部署构件至远程仓库 pom.xml:
<distributionManagement>
<repository>
<id>releases</id>
<name>public</name>
<url>http://1.2.3.4:8081/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Snapshots</name>
<url>http://1.2.3.4:8081/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
4、maven聚合和继承
对于N个模块业务的工程,每个模块下均有一个pom.xml,则可实行聚合继承。
在父的pom.xml中配置
<modules>
<module></module>
<module></module>
<module></module>
</modules>
<dependencyManagement> <!--只表示声明指定版本,并不直接在子pom.xml中依赖-->
<dependencies>
<dependency>
<groupId></groupId>
<artifactId></artifactId>
<version></version>
</dependency>
</dependencies>
</dependencyManagement>
在子pom.xml中配置
<parent>
<groupId></groupId>
<artifactId></artifactId>
<version></version>
</parent>
<dependencies> <!--引入依赖,版本已在父pom.xml中声明,不必重复声明-->
<dependency>
<groupId></groupId>
<artifactId></artifactId>
</dependency>
</dependencies>
5、配置文件优先级
pom.xml > /home_dir/.m2/settings.xml > /maven_dir/conf/settings.xml
6、maven仓库的优先级
本地仓库 > 远程仓库 (私服仓库(全局应用的私服仓库 > 项目自身的私服仓库) > 中央仓库)
补充:
(1)如果在找寻的过程中,如果发现该仓库有镜像设置,则用镜像的地址代替。
(2)如果仓库的id设置成“central”,则该配置会覆盖maven默认的中央仓库配置。
6、默认路径
~/.m2
7、mvn install 过程
(1) pom.xml配置找需要依赖的东西
(2) 按照配置文件优先级去代码仓库拉东西
(3) 按照仓库的优先级去拉东西
(4) 拉到东西下载到本地仓库
(5) 如果本地仓库有的项目中就可以引用到依赖了