虽然当前工作使用的是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.csdn.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
以上