maven简介
1.maven可以很方便的管理项目依赖关系。
2.maven可以伴随整个项目生命周期,关于这一点,下面Maven命令中可窥见一斑。
maven安装配置
1.windows下配置环境变量:
M2_HOME
F:\apache-maven-3.5.0
在path下追加:
%M2_HOME%\bin;
查看maven版本以及验证环境变量是否配置成功:
cmd下 mvn -version
maven默认依赖包下载存放位置:
C:\Users\UX\.m2
2.自定义修改:
将F:\apache-maven-3.5.0\conf下的settings.xml复制到C:\Users\UX\.m2的.m2文件夹下
做出下列两项修改:
1.修改为官方推荐的仓库中心:
配置文件:
<mirror>
<id>UK</id>
<name>UK Central</name>
<url>http://uk.maven.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
或者改为阿里的:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
2.自定义依赖包下载到本地的存放位置:
<localRepository>F:\MavenRepository\repository
</localRepository>
Maven命令
1.maven基本命令:
mvn -v 查看maven版本信息
mvn compile 编译项目
mvn test 测试
mvn package 打包项目
mvn clean 删除target
mvn install 将本项目安装到本地仓库中
2.名词解释:
groupId: 组织名,一般是公司网站的反写+项目名
artifactId: 项目名-模块名
version: 版本号
-Dpackage: 代码所在的包名
3.使用maven创建模板项目:
例如:
mvn archetype:generate -DgroupId=com.ux.mavenproject -DartifactId=mavenproject-demo -Dversion=1.0.0SNAPSHOT -Dpackage=com.ux.mavenproject.demo -DarchetypeCatalog=internal
回车
回车
Y
创建maven项目时的参数
- 添加此参数可快速创建maven项目,避免下载缓慢问题
archetypeCatalog=internal
mac下安装maven
mac下安装maven
export M2_HOME=/Users/ux/Applications/apache-maven-3.5.2 export PATH=$PATH:$M2_HOME/bin source ~/.bash_profileMaven 依赖搜索顺序
当我们执行 Maven 构建命令时,Maven 开始按照以下顺序查找依赖的库:
- 步骤 1 - 在本地仓库中搜索,如果找不到,执行步骤 2,如果找到了则执行其他操作。
- 步骤 2 - 在中央仓库中搜索,如果找不到,并且有一个或多个远程仓库已经设置,则执行步骤 4,如果找到了则下载到本地仓库中已被将来引用。
- 步骤 3 - 如果远程仓库没有被设置,Maven 将简单的停滞处理并抛出错误(无法找到依赖的文件)。
步骤 4 - 在一个或多个远程仓库中搜索依赖的文件,如果找到则下载到本地仓库已被将来引用,否则 Maven 将停止处理并抛出错误(无法找到依赖的文件)。
Maven打jar包
可执行jar
1
2
3
4
5
6
7
8
9<!-- 可直接执行 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>可被依赖jar
1
2
3
4
5
6
7
8
9
10
11
12
13<!--https://blog.csdn.net/nanhuaibeian/article/details/109310112 -->
<!--可被依赖的jar-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<classifier>exec</classifier>
</configuration>
</plugin>
</plugins>
</build>
向私有maven仓库deploy
1.示例一(github),github packages发布配置(私有)
1
2
3
4
5
6
7<distributionManagement>
<repository>
<id>github</id>
<name>uxawseny maven repo</name>
<url>https://maven.pkg.github.com/uxawseny/maven-repo</url>
</repository>
</distributionManagement>2.示例二(公司),snapshotRepository
1
2
3
4
5
6
7
8
9
10
11
12<distributionManagement>
<!-- <repository>-->
<!-- <id>my-releases</id>-->
<!-- <url>http://192.168.1.1:8080/repository/my-releases/</url>-->
<!-- </repository>-->
<!--暂时只向snapshots仓库推送-->
<snapshotRepository>
<id>my-snapshots</id>
<url>http://192.168.1.1:8080/repository/my-snapshots/</url>
</snapshotRepository>
</distributionManagement>注意:需要maven仓库类型为hostde类型,才能上传成功,group会报405错误。
向私有仓库直接上传jar包
1 | 1.进入nexus选择upload,要上传的位置 |
