Maven学习(二) 修改settings文件和常用命令 Maven核心概念
虽然当前工作使用的是maven 项目 配置spring boot使用
但是对maven 的认知还是比较零散,进行一个记录
学习地址:https://www.majiaxueyuan.com/front/couinfo/56
1.根据要求修改settings文件
一般默认的settings文件是不会怎么去使用的,要修改几个地方
1.本地仓库
一般默认是在c盘(~/.m2/repository/),不过 c 盘是默认盘 都不怎么放,所以需要修改本地仓库地址
<localRepository >新的本地仓库路径</localRepository >
举个花生:
2.修改镜像文件
默认是外国网络,下载很慢,所以一般都是使用镜像,比如aliyun 163的
<mirrors><mirror>镜像地址</<mirror></mirrors>
举个栗子(mirror是在mirrors下的):
<mirror>
<id>maven-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
3.配置编译打包都是jdk1.8版本的(我的jdk是1.8 避免出现mvn打包时会调整为1.5的情况,需要配置一下)
<profiles> <profile>jdk </profile> </profiles>
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
当然还有配置代理什么的 (不过没怎么用 就没有配置)
可以看个格式
2.maven 常用的命令
编译项目 编译成class文件
mvn compile
打包 会打包到java项目的target里面
mvn package
清理(删除target目录下编译内容)
mvn clean
打包(java程序包中的target)后将其安装在本地仓库(localRepository )
mvn install
发布到远程仓库(暂没用过)
mvn deploy
添加本地jar包(有些jar包需要通过maven安装,让其能够使用)
mvn install:install-file -Dfile=usr/xxx.jar -DgroupId=xxx -DartifactId=xxx -Dversion=xxx
Dpackaging=jar
关于添加本地jar包这个 可以看一个具体例子:
https://blog.****.net/qq_28198181/article/details/89499151
参数讲解:
groupId |
这是项目组的编号,这在组织或项目中通常是独一无二的。 例如,码家学院com.majiaxueyuan拥有码家学院相关项目。 |
artifactId |
这是项目的ID。这通常是项目的名称。 例如,consumer-banking。 除了groupId之外,artifactId还定义了artifact在存储库中的位置。 |
version |
这是项目的版本。与groupId一起使用,artifact在存储库中用于将版本彼此分离。 |
项目的pom文件中 在dependencies中的 dependency 中添加单个的maven配置文件
如果本地仓库中没有查询到 会到阿里云的仓库中去查找并下载 如果本地仓库有 那么就是直接引用本地仓库的
Maven核心概念
说明:
maven根据pom.xml文件,把它转化成项目对象模型(POM),这个时候要解析依赖关系,然后去相对应的maven库中查找到依赖的jar包。
在clean,compile, package,install等阶段都有相应的Plug-in来做这些事情。
而这些plug-in会产生一些中间产物。
maven插件
因为修改了本地仓库
所以实在本地仓库下的org\apache\maven\plugins
以上