配置文件加载优先级:pom.xml>user setting>global setting
1.localRepository
2.proxy
3.server
4.mirror
pom.xml
5.profile
1.配置基本信息
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- 指定了当前pom.xml的版本 -->
<modelVersion>4.0.0</modelVersion>
<!-- 主项目的标识属于哪个项目 (公司网址+项目名) -->
<groupId>com.ouyang.maven</groupId>
<!--模块标识,实际项目的模块(项目名+模块名)-->
<artifactId>maven-test</artifactId>
<!--
第一个0大版本号,第二个0表示分支版本号,第三个0表示小版本号
SNAPSHOT:快照
ALPHA:内部测试
BETA:公测
RELEASE:稳定
GA:正式发布
-->
<version>0.0.1-SNAPSHOT</version>
<!-- 默认是jar war zip pom -->
<packaging>jar</packaging>
<!-- 项目的描述名 -->
<name>maven-test</name>
<!-- 项目的地址 -->
<url>http://maven.apache.org</url>
<!-- 项目描述 -->
<description></description>
<!-- 开发人员 -->
<developers></developers>
<!-- 许可证 -->
<licenses></licenses>
<!-- 组织信息 -->
<organization></organization>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<!--
依赖范围
compile:默认的范围,编译测试运行都有效
provided:在编译测试时有效
runtime:测试和运行时有效
test:测试时有效
system:在编译测试时有效(需要与本地系统做关联)
import:导入的范围,只做用dependcyManagement中,表示从其他的pom中导入dependecy的配置
-->
<scope>test</scope>
<!-- 依赖是否可选 -->
<!-- <optional>false</optional> -->
<!-- 排除依赖传递列表 -->
<exclusions>
<!-- <exclusion>
<groupId></groupId>
<artifactId></artifactId>
</exclusion> -->
</exclusions>
</dependency>
</dependencies>
<!-- 依赖管理(可以提供父依赖)-->
<dependencyManagement>
<!-- <dependencies>
<dependency></dependency>
</dependencies> -->
</dependencyManagement>
<build>
<!-- 插件列表 -->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<!-- 在子模块中对父模块pom的继承 -->
<!-- <parent></parent> -->
<!-- 聚合多个运行的maven项-->
<!-- <modules></modules> -->
</project>
2.配置仓库信息
<repositories>
<repository>
<id>nexus</id>
<name>nexus</name>
<url>http://192.168.x.x:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
3.设定插件仓库
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>nexus</name>
<url>http://192.168.x.x:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
1.hosted 类型的仓库,内部项目的发布仓库。Hosted代表宿主仓库,用来发布一些第三方不允许的组件,比如oracle驱动、比如商业软件jar包、公司开发的jar包库。
2.Proxy代表代理远程的仓库,最典型的就是Maven官方中央仓库、JBoss仓库等等。如果构建的Maven项目的用户电脑本地仓库没有依赖包,那么就会去Proxy代理站点(即Nexus私服)去下载,那么如果代理站点也没有此依赖包,就会去远程中央仓库下载依赖。代理站点(私服)下载成功后再下载至用户本机仓库。
3.releases 内部的模块中release模块的发布仓库
4.snapshots 发布内部的SNAPSHOT模块的仓库
5.3rd party 第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去
6.group 类型的仓库,组仓库用来为了方便我们开发人员而进行设置的仓库
动力节点在线课程涵盖零基础入门,高级进阶,在职提升三大主力内容,覆盖Java从入门到就业提升的全体系学习内容。全部Java视频教程免费观看,相关学习资料免费下载!对于火爆技术,每周一定时更新!如果想了解更多相关技术,可以到动力节点在线免费观看Maven学习视频哦!