Maven教程(2022-1-6)

3 篇文章 0 订阅

第一章:Maven介绍

1.概述


1.Maven作为依赖管理工具
    	1.jar包的规模  随着使用的框架越来越多  或者框架封装越来越高  项目中的使用的jar包封装越来越高 项目中
    一个模块里面用到上百个jar包是正常的
		2.jar包的来源 这个jar包所属的技术官网 
    		但是会导致jar包的名称 jar包的版本 jar包内的具体细节
    		而使用Maven后  依赖对应的jar包能够自动下载 方便 便捷 规范
   		 3.jar包之间的依赖关系  框架中使用的jar包 不仅数量庞大 相互之间的关系更为复杂
2.Maven作为构建管理工具
    	可以不属于Maven 但是构建必须要做 使用idea开发的时候 构建是idea帮我们做的
    
    
    
    

2.Maven使用介绍

普通的java工程
   由原材料 java源代码 基于html的thyme文件  图片配置文件等 构建出项目
构建过程包含的主要环节:清理 编译 测试 报告  打包 java过程:jar包
			web过程 :war包
安装:把一个Maven过程结果打包操作生成的jar包或war包存入Maven仓库

部署:部署jar包 :把一个jar包部署到nexus私有服务器上

2.依赖:如果a工程里面用到了b工程的的累接口 配置文件等这样的资源 那么我们就说a依赖b



第二章:Maven核心程序解压和配置

1.配置Maven环境

1.进入网址:https://maven.apache.org/
		直接下载的链接:https://maven.apache.org/download.cgi
2.解压到无中文的路径 无空格
	在解压目录中 我们需要关注Maven的核心配置文件 conf/setting.xml
	
3.指定本地仓库
    找到D:\Maven\apache-maven-3.2.2\conf  下的setting文件下的56行代码
		<localRepository>D:\Maven\maven-repo</localRepository>

配置完成
            
            
            
            
            
 4.配置阿里云提供的镜像仓库
            	1.将原有的例子配置注释
            	2.	 <mirror>
	 <id>nexus-aliyun</id>
      <mirrorOf>central</mirrorOf>
      <name>Nexus aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
	   </mirror>
           
           
    5.配置Maven的jdk对应版本 在256<profile>
      <id>jdk-17</id>
      <activation>
        <activeByDefault>true</activeByDefault>
		<jdk>17</jdk>
      </activation>
      <properties>
			<maven.compiler.source>17</maven.compiler.source>
      			<maven.compiler.target>17</maven.compiler.target>
	  			<maven.compiler.compilerVersion>17</maven.compiler.compilerVersion>
	  </properties>
    </profile>
  </profiles>

           
           
         6.正确检查jdk的环境变量
          7.配置Maven的环境变量
           		检查Maven的版本号:D:\Maven\apache-maven-3.2.2

2.命令行-坐标ev


数学中使用x,y,x作为空间的坐标系  可以在空间中唯一的定位到一个点

2.maven中的坐标 
		向量说明:使用三个向量在maven仓库中唯一定位到一个jar包
				groupId 公司或阻止的id
				artifactId:一个项目或者是项目中的一个模块的id
				version:版本号
	3.三个向量的取值方式:
		groupid:公司或者组织的倒序 通常也会加上项目名称
				例如:com.atguigu.maven
		artifactid:模块的名称 作为将来mave工程的工程名
		
		version:模块的版本号 根据工作的需要设定


3.坐标和仓库中jar包的存储路径之间的对应关系
            坐标:
            <groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
上面的坐标对应的jar包在maven本地仓库中的位置:
            maven本地仓库目录
            \javax\servlet\servlet-api\2.5\servlet-api-2.5.jar
            
            
            
  实验操作:
            1.创建目录作为后面操作的工作空间
            2.终端切换到工作目录
          		  运行mvn archetype:generate

等待下载  


4.调整
		maven默认生成的工程 对junit依赖是比较低3.8.1不包 我们可以改成适合的4.12版本自动生成的App.java和AppTest.java可以删除


<!--根标签:project,表示对当前工程进行配置 管理-->

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  
  <!--moduleVersion标签:从maven 2开始就是固定为4.0.0
  
  代表当前的pom.xml 所采用的标签结构
  -->
  <modelVersion>4.0.0</modelVersion>


<!-- 坐标信息   其中groupid标签 :坐标向量之一:代表公司或组织开发的某个项目
artifactID标签:坐标向量之一:代表公司或组织开发的某个模块
version代表版本号
 -->
  <groupId>com.atguigu.maven</groupId>
  <artifactId>pro01-maven-java</artifactId>
  <version>1.0-SNAPSHOT</version>
  
  <!--packaging 标签:打包方式 默认是一jar包
  
  取值jar:是java工程
  取值war:是web工程
  取值pom:是用来管理其他工程的工程
  
  -->
  <packaging>jar</packaging>

  <name>pro01-maven-java</name>
  <url>http://maven.apache.org</url>

  <properties>
  <!--可以用来定义属性值-->
  <!--在构建过程中读取源码时使用的字符集-->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

<!--dependencies 标签:配置具体依赖信息	-->
  <dependencies>
    <dependency>
	<!--dependency标签:配置一个具体的依赖信息-->
	
	<!--坐标信息:导入那个jar包 就配置它的坐标信息即可-->
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
	  
	  <!--scope标签:配置当前依赖的范围-->
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>




3.maven核心概念:pom

1.含义:
	1.pom 项目对象模型 和pom类似的dom  文档对象没婆媳 他们都是模型化思想的具体体现
	
	
	2.模型化思想:pom表示将改成抽象为一个模型 在用程序中的对象来描述这个模型 这样我们就可以用程序来管理项目了 我们在开发过程中 最基本的做法就是将现实生活中的事物抽象为模型 然后封装模型相关的数据作为一个对象 这样就可以在程序中计算与实现事物相关的数据
	
	
	3.对应的配置文件:pom理念集中体现在maven过程根目录下pom.xml这个配置文件中 使用这个pom.xml配置文件就是maven过程的核心配置文件 其实学习maven就是写这个文件桌怎么配置 哥哥配置有什么用处
	

4.约定的目录结构

各个目录的作用:
		源码目录:src
		
		
		约定目录结构的意义:maven为了让构建过程尽可能自动化完成 使用必须约定目录结构 例如 maven执行编译操作
		必须先去java源程序目录读取java源代码 如何执行编译 最后把编译结构放在target目录
		
		
		
约定大于配置


1、在maven过程中编写代码
	运行maven中构建操作相关的目录时 必须进入到pom.xml所在的目录 如果没有在pom.xml所在的目录运行maven的构建目录那么就会报错
	
	mvn -v目录和构建操作无关 只是正确配置了path 在任何目录下执行都可以 而构建相关的目录要在pom.xml所在目录选运行  操作那个工程就进入这个工程的pom.xml目录
	
	
	清理操作:
		mvn clean 效果:删除target
编译操作:
		主程序编译:mvn compile
		测试程序编译:mvn test-compile
		整体程序编译结果存放的目录:target/classes
		测试程序编译结果存放的目录:target/test-classes
		
		
测试操作:mvn test
		测试报告存放在	target/surefire-reports

打包操作:
		mvn package
		打包结果:jar包 存放的目录:target
		
		
安装操作:mvn install


		安装的效果是将本地构建过程中生成的jar包存入Maven本地仓库 这个jar包是在maven仓库下以坐标生成的
		
		
使用maven创建web工程与创建java是一样的
		

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值