maven插件解析机制
2013-01-22 21:35
260 查看
maven插件的介绍网上也有很多了,这里主要从一个方面来探讨和学习下maven插件的功用。
这里通过一条命令的扩展来看maven插件的机制。
输入
而默认的仓库为http://repo.maven.apache.org/maven2/,即查找http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml
添加默认groupId的方式为在maven的settings.xml文件里添加(最好将此文件放在用户目录/.m2/目录下)
添加默认插件仓库的方式是要在工程的pom.xml文件下添加
到这里命令已经扩展成为
第二步,查找第一步所有插件仓库归并后的元数据文件maven-metadata.xml,找到对应的artifactId,这里找到的是maven-dependency-plugin,如图
到这里命令被扩展成为
至此命令已经扩展为一条唯一化且容易理解的命令
这里通过一条命令的扩展来看maven插件的机制。
输入
mvn dependency:treemaven会做些什么呢?第一步,maven会默认以org.apache.maven.plugins作为groupId,收集所有插件仓库的元数据org/apache/maven/plugins/maven-metadata.xml
而默认的仓库为http://repo.maven.apache.org/maven2/,即查找http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml
添加默认groupId的方式为在maven的settings.xml文件里添加(最好将此文件放在用户目录/.m2/目录下)
<pluginGroups> <pluginGroup>com.your.plugins</pluginGroup> </pluginGroups>
添加默认插件仓库的方式是要在工程的pom.xml文件下添加
<pluginRepositories> <pluginRepository> <id>user</id> <url>http://www.yourpluginrepos.com</url> <name>your plugin repository</name> <layout>default</layout> <snapshots> <enabled>false</enabled> </snapshots> <releases> <updatePolicy>nerver</updatePolicy> </releases> </pluginRepository> </pluginRepositories>
到这里命令已经扩展成为
mvn org.apache.maven.plugins:dependency:tree
第二步,查找第一步所有插件仓库归并后的元数据文件maven-metadata.xml,找到对应的artifactId,这里找到的是maven-dependency-plugin,如图
<plugin> <name>Maven Dependency Plugin</name> <prefix>dependency</prefix> <artifactId>maven-dependency-plugin</artifactId> </plugin>到这里命令相当于扩展成为
mvn org.apache.maven.plugins:maven-dependency-plugin:tree第三步,根据groupId,artifactId找到对应插件的maven-metadata.xml文件,本例中为http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/maven-metadata.xml,即如图显示
<metadata> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <versioning> <latest>2.6</latest> <release>2.6</release> <versions> <version>2.0-alpha-1</version> <version>2.0-alpha-2</version> <version>2.0-alpha-3</version> <version>2.0-alpha-4</version> <version>2.0</version> <version>2.1</version> <version>2.2</version> <version>2.3</version> <version>2.4</version> <version>2.5</version> <version>2.5.1</version> <version>2.6</version> </versions> <lastUpdated>20121125202149</lastUpdated> </versioning> </metadata>maven将所有的远程插件仓库及本地仓库元数据归并后,就能找到release的版本(maven3后为了保证项目构建的文档性使用release版本)
到这里命令被扩展成为
mvn org.apache.maven.plugins:maven-dependency-plugin:2.6:tree
至此命令已经扩展为一条唯一化且容易理解的命令
相关文章推荐
- (十三)Maven插件解析运行机制
- Maven之——插件目标及绑定、命令行调用插件、目标前缀(插件前缀解析策略)、插件解析运行机制
- maven插件解析机制
- Maven 教程(13)— Maven插件解析运行机制
- 【maven实战】20-插件解析机制
- maven常用插件解析之Tomcat插件热部署
- Maven常用插件解析
- Discuz X2.0插件机制解析HOOK钩子程序
- Maven仓库(从仓库解析依赖的机制)
- vue源码解析之插件入侵机制
- Android 插件化原理解析——插件加载机制
- 初探maven插件机制
- 一起学Maven(Maven中的生命周期与插件机制)<七>
- maven常用插件解析
- Maven学习笔记 仓库解析依赖的机制
- Elasticsearch学习总结五 elasticSearch插件机制源码解析
- Maven插件实现的autoconfig机制(转)
- 【maven详解-插件】maven 插件机制
- Myeclipse学习总结(7)——Eclipse插件之Maven配置及问题解析
- Myeclipse学习总结(7)——Eclipse插件之Maven配置及问题解析