java之maven(实训笔记)

1.概念

Maven:翻译过来专家,内行。作为Apache组织中一个开源项目,Maven主要服务于基于Java平台项目构建依赖管理,和项目信息管理。

无论是小型的开源类项目,还是大型的企业级应用,无论是传统的瀑布式开发,还是流行的敏捷开发,maven都能大展身手。

1.1.为什么使用maven

1.更好的构建和管理项目

2.自动导入依赖,不需要我们再去网上拉jar包

2.项目构建

构建(build) 是每一个程序员每天都在做的工作,创建项目,创建类,每天都在做。到了公司里,我们每天一上班,就要从git或者 svn更新代码,然后再测试自己的代码,如果有问题,就要和同事一起调试,修复代码,完了之后再继续自己的工作,编写自己的单元测试和产品代码。

总结下来:除了写代码,我们每天都有相当一部分时间花在了编译,运行单元测试,生成文档,打包和部署等繁琐且不起眼的工作上,这就是构建。

maven:能使软件的构建可以像全自动流水线一样,所有的繁琐的步骤都能自动完成。

2.1.项目构建工具

Ant:

最早的构建工具,基于IDE(开发工具),大概是2000年有的,是当时最流行的Java构建工具,但是它的缺点是XML脚本编写格式让XML文件非常大,优点是ant对工程构建功能的过程控制非常好。

maven:

项目对象模型,通过其描述信息来管理项目的构建,报告和文档的软件项目管理工具,maven是第一个支持从网上下载的工具,仍然采用的是XML(pom.xml)做为配置文件格式,maven专注的是依赖(jar包)管理,使用Java编写。

Gradle:

结合了Ant和maven的优点,既有Ant的灵活,还有maven的生命周期管理,它最后被Google作为了Android御用管理工具,它最大区别是不使用XML作为配置文件,而是采用了 DSL格式,使得脚本更加简洁。

目前,Ant比较老,所以一般的传统软件企业公司都是使用maven来编写Java,maven是当前大多数互联网公司会使用的构建工具,中文文档也比较齐全,gradle是用groovy编写,目前比较新,以后可能会有很大的使用空间。

3. Maven的特性

3.1.依赖管理系统

maven引入了一个全新的依赖管理系统,jar包升级时修改配置文件即可。

在Java世界中,我们使用groupId,artifactId,version组成的Coordination(坐标)唯一标识一个依赖。

任何基于maven构建的项目自身也必须满足定义这三个属性,生成的包可以是jar包,也可以是war包。

一个典型的依赖引入如下所示:

	 <dependency>
            <groupId>javax.activation</groupId> //当前jar包所属的公司
            <artifactId>javax.activation-api</artifactId> //jar包名字
            <version>1.2.0</version> //版本号
        </dependency>

3.2.多模块构建

项目分为:mapper( dao),service,controller层,分为多个模块已经是一种通用的方式。

在maven中可以定义一个parent POM作为一组module的聚合 POM。在该POM中可以使用标签来定义一组子模块,parent POM中的build配置以及依赖配置都会自动继承给module。

 <!--子项目-->
    <modules>
        <module>spring-ioc</module>
        <module>HelloSpring</module>
        <module>spring-ioc2</module>
        <module>spring-DI</module>
        <module>spring-autowired</module>
        <module>spring-annotation</module>
        <module>spring-appconfig</module>
        <module>spring-demo</module>
    </modules>

父类项目 和子项目,上边的内容是写在父类项目的pom.xml里,父类的依赖会自动继承给子类项目,

标签里都是子类项目。不需要再次引入父类项目有的依赖。

3.3.一致的插件引入机制

	 <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>

4. Maven的安装配置和目录结构

4.1. maven安装与环境变量配置

4.1.1.检查 jdk版本

要求 jdk1.7以上, 推荐使用1.8或9

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BzmdqSjZ-1638193462191)(C:\Users\gm_admin\Desktop\实训课件\附:maven\图片\image-20211123104158856.png)]

cmd查看jdk版本, 命令行:java -version

4.1.2. maven下载安装

官网下载

4.1.3.配置环境变量

找到我的电脑 右键属性 -> 高级系统设置 -> 环境变量 -> 在系统变量中新建一个变量名为MAVEN_HOME的变量,值为maven 解压的地址

在变量名为PATH 的环境变量 中添加一个%MAVEN_HOME%\bin的变量名,然后点击确定

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HVSRC0Yo-1638193462193)(C:\Users\gm_admin\Desktop\实训课件\附:maven\图片\image-20211123110128271.png)]

4.1.4.测试环境变量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SearEyLV-1638193462194)(C:\Users\gm_admin\Desktop\实训课件\附:maven\图片\image-20211123110234432.png)]

cmd 输入 mvn -version环境变量是否配置成功

4.1.5.配置阿里云仓库

因为依赖是自动导入的,默认是从国外的网站下载,网速会很慢,所以自己配置仓库

然后加上云仓库

<!-- 阿里云中央仓库镜像地址 -->
	<mirror>
     <id>aliyunmaven</id>
     <mirrorOf>*</mirrorOf>
     <name>阿里云公共仓库</name>
     <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
    
     <mirror>
     <id>aliyunmaven</id>
     <mirrorOf>*</mirrorOf>
     <name>阿里云谷歌仓库</name>
     <url>https://maven.aliyun.com/repository/google</url>
    </mirror>
    
    <mirror>
     <id>aliyunmaven</id>
     <mirrorOf>*</mirrorOf>
     <name>阿里云阿帕奇仓库</name>
     <url>https://maven.aliyun.com/repository/apache-snapshots</url>
    </mirror>
    
    <mirror>
     <id>aliyunmaven</id>
     <mirrorOf>*</mirrorOf>
     <name>阿里云spring仓库</name>
     <url>https://maven.aliyun.com/repository/spring</url>
    </mirror>
    
    <mirror>
     <id>aliyunmaven</id>
     <mirrorOf>*</mirrorOf>
     <name>阿里云spring插件仓库</name>
     <url>https://maven.aliyun.com/repository/spring-plugin</url>
    </mirror>
	
	<!-- 腾讯云中央仓库 -->
    <mirror>
      <id>tencent</id>
      <name>tencent maven mirror</name>
      <url>https://mirrors.tencent.com/nexus/repository/maven-public/</url>
      <mirrorOf>*</mirrorOf>
    </mirror>
  </mirrors>

4.1.6.创建repository文件

在maven 目录下创建 repository文件,用来存放下载好的依赖(jar包)。

在conf - settings.xml里(用Notepad++打开),把默认的 localRepository标签注释,然后写入

 <localRepository>你的repository目录</localRepository> 
 例如:
 <localRepository>D:\work_Space\apache-maven-3.8.1\repository</localRepository>

如果不修改的话,默认是在C盘

5. idea集成maven

5.1.设置idea默认maven设置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gTJ019Gb-1638193462196)(C:\Users\gm_admin\Desktop\实训课件\附:maven\图片\image-20211123134833382.png)]

5.2. maven创建Java项目

5.3. idea中的maven

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hjOO6b9J-1638193462198)(C:\Users\gm_admin\Desktop\实训课件\附:maven\图片\image-20211123140509810.png)]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值