关于maven的一些知识整理
1、构件的路径
坐标是构件的逻辑表示方式,而物理表示方式则是文件。构件所在的文件路径,是由GAV决定的
比如log4j:log4j:1.2.15,所在的仓库路径是:
%repository_path%/log4j/log4j/1.2.15/log4j-1.2.15.jar
其中%repository_path%是跟仓库的实现有关,构件自身的命名规则是:
groupId/artifactId/version/artifactId-version.packaging
2、超级POM的位置
超级POM在这个路径:%M2_HOME%/lib/maven-model-builder-3.0.jar,解压之后的org/apache/maven/model/pom-4.0.0.xml
3、远程仓库的认证
如果远程仓库需要认证信息的话,是在settings.xml文件里配置的,而不是在maven项目的pom.xml里配置,这主要是出于安全性的考虑
4、跟仓库相关的几个POM配置
以下配置都是在pom.xml设置的
获取依赖的远程仓库:
<repositories> <repository> <id /> <name /> <url /> </repository></repositories>
<pluginRepositories> <pluginRepository> <id /> <name /> <url /> </pluginRepository></pluginRepositories>
<distributionManagement> <repository> <id /> <name /> <url /> </repository> <snapshotRepository> <id /> <name /> <url /> </snapshotRepository></distributionManagement>
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> </plugins></build>
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <executions> <execution> <id /> <phase /> <goals /> <configuration> <skip>true</skip> </configuration> </execution> </executions> </plugin> </plugins></build>
<project> <properties /> <dependencies /> <build /> <repositories /> <pluginRepositories /> <distributionManagement /></project>
<settings> <localRepository /> <servers /> <mirrors /> <proxies /> <profiles /> <activeProfiles /></settings>