Maven学习(二) 修改settings文件和常用命令 Maven核心概念

虽然当前工作使用的是maven 项目 配置spring boot使用

但是对maven 的认知还是比较零散,进行一个记录

学习地址:https://www.majiaxueyuan.com/front/couinfo/56

 

1.根据要求修改settings文件

一般默认的settings文件是不会怎么去使用的,要修改几个地方

1.本地仓库 

一般默认是在c盘(~/.m2/repository/),不过 c 盘是默认盘 都不怎么放,所以需要修改本地仓库地址

<localRepository >新的本地仓库路径</localRepository >

举个花生:

Maven学习(二) 修改settings文件和常用命令 Maven核心概念

Maven学习(二) 修改settings文件和常用命令 Maven核心概念

Maven学习(二) 修改settings文件和常用命令 Maven核心概念

 

2.修改镜像文件

默认是外国网络,下载很慢,所以一般都是使用镜像,比如aliyun 163的

 <mirrors><mirror>镜像地址</<mirror></mirrors>

举个栗子(mirror是在mirrors下的):

Maven学习(二) 修改settings文件和常用命令 Maven核心概念

	<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>

Maven学习(二) 修改settings文件和常用命令 Maven核心概念


<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>

当然还有配置代理什么的 (不过没怎么用 就没有配置)

可以看个格式

Maven学习(二) 修改settings文件和常用命令 Maven核心概念

 

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学习(二) 修改settings文件和常用命令 Maven核心概念

说明:

maven根据pom.xml文件,把它转化成项目对象模型(POM),这个时候要解析依赖关系,然后去相对应的maven库中查找到依赖的jar包。

在clean,compile, package,install等阶段都有相应的Plug-in来做这些事情。

而这些plug-in会产生一些中间产物。

 

maven插件

因为修改了本地仓库

所以实在本地仓库下的org\apache\maven\plugins

Maven学习(二) 修改settings文件和常用命令 Maven核心概念

以上