Maven仓库从0到1
前沿
我们现在常用管理包的就是maven,快速过一下maven的常见语法,为接下来的一些学习打下基础
简单说一下我对maven的理解,其实这是一个jar包的统一管理平台(ANT这个是之前的,这个算是升级)
用pom去配置
IDEA初步配置
IDEA一般会自带,如果需要修改看下面
DIY配置
- 下载(在maven官网,直接点击上面的就可以链接就可以),然后本地解压
2.idea配置
如果没有找到相应的.m2 可以使用mvn help:system。这样会自动创建一个.m2
仓库
其实maven仓库存放的是jar包的坐标,然后通过坐标去加载对应的jar包,所以说每个jar包就会对应一个唯一的坐标
本地仓库
就是自己主机上的一些jar包仓库
远程仓库
不在本地的仓库都是远程的
或者还有自己公司内部的局域网自己的仓库
配置本地仓库
在配置文件中配置:上面的settings.xml
1.这里配置本地仓库的地址,默认就好
2.还可以配置镜像,更好的下载,这里用阿里的镜像,在mirrors中配置,改成阿里云的镜像
<mirrors>
<!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
|
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
-->
<!-- ali mirror -->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
<!-- default
<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:http:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
<blocked>true</blocked>
</mirror>
-->
</mirrors>
maven的工程类型
- pom工程
可以用于版本管理,父子逻辑,这个可以实现底下的两个工程
2.jar工程
打包成jar
3.war工程
打包成war
maven的一些功能
idea创建maven
标签
依赖标签
<dependencies>
<dependency>
<groupId>com.duncan</groupId> 其他项目的坐标
<artifactId>mvn_learn</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>
compile 编译和运行的时候会加载
provided 只在编译和测试中加载
runtime 运行时生效
system 配置系统的指定的依赖
test 只是测试的时候生效
import 必须使用父工程的版本
</scope>
</dependency>
</dependencies>
自定义属性值
<properties>
<name>value</name>
</properties>
版本管理,不会加载jar
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.duncan</groupId>
<artifactId>mvn_learn</artifactId>
<version>${name}</version> 上面属性定义的
</dependency>
</dependencies>
</dependencyManagement>
模块的聚合
<modules>
<module>project2</module>
</modules>
继承的包,里面的依赖可以直接使用
<parent>
<artifactId>mvn_learn</artifactId>
<groupId>com.duncan</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
build
在pom文件中配置当前项目的插件
<build>
自定义资源拷贝
<resources>
<resource>
<directory>src/main</directory>
<includes>
<include>
*.xml
</include>
</includes>
</resource>
</resources>
自定义插件
<plugins>
<plugin>
<artifactId>mvn_learn</artifactId>
<groupId>com.duncan</groupId>
<version>1.0-SNAPSHOT</version>
</plugin>
</plugins>
</build>
最后的话
maven的知识点不多,熟悉常见的标签比较重要,接下来多用就能熟悉了,这边就是入个门