初识——Maven

什么是Maven

1.简介:

maven翻译为:专家,内行。
maven是一个项目管理构建工具。专门用于管理项目构建、依赖管理。

主要两个功能:

  • 1.项目构建
    帮助项目做很多事情,测试,命令等,IDEA已经整合了
  • 2.依赖管理(重点)
    希望通过配置的方式来导入依赖,而不是通过手动导包的方式。

1.1项目构建

  • 传统方法
  • maven方法
    将项目构建的过程进行标准化,每个阶段使用一个命令完成。
    • 1.命令介绍
    • dean:
    • compile:
    • package:
    • 2.构建优点:

1.2依赖管理

  • 什么是依赖?说白了就是jar包,第三方jar包。
  • 什么是依赖管理?

1.2.1 传统项目的依赖管理

  • 手工拷贝jar包添加到工程中的问题:
    • 1.jar包版本冲突
    • 2.从网上找jar包,非常不方便。
    • 3.jar包添加到工程中导致工程过大。

1.2.2 使用maven的依赖管理

  • 使用maven的好处:
    • 1.通过pom.xml文件对jar包的版本进行统一管理,可避免版本冲突。
    • 2.maven团队维护了一个非常全的maven仓库(中央仓库),
    • 3.一步构建:通过一个命令完成构建过程。
    • 4.可以跨平台
    • 5.maven有利于大型团队的开发效率,降低项目的维护成本。

其他的一些构建工具

MK
Gradle——Interj IDE

2.下载

maven.apache.org/download.cpi
解压后的文件目录。bin/conf/lib/….

  • 配置环境变量:MAVEN_HOME和path

3.maven仓库

网址:mvnrepository.com(jar包下载的网址)
在电脑上配置maven本地仓库,可以将本地仓库理解为缓存,有了本地仓库就不用每次从远程仓库下载了。

文件路径C:\Users\用户.m2下面,

  • 配置远程仓库
    那么每次从哪里找?配置文件中有一个默认的位置:conf/settings.xml中有一个<LocalRepository> 每次会先从这个路径找jar包依赖。

  • 中央仓库:
    国内maven镜像:阿里云和开源中国都有。
    在settings.xml中有个<mirror> 标签,可以在里面配置镜像url。

4.手动使用

project 目录(必须掌握):

·src

  • main
    • java:存放java文件
    • resources :存在资源,入spring,hibernate配置文件等
    • webapp:web项目的webroot文件夹,存放网页资源(jsp/css等)
  • test
    • java:存放测试文件
    • resources:测试资源文件

· target:

目标文件输出位置,

· pom.xml:

maven项目核心配置文件:pom.xml中的配置

<!-- 固定的版本 -->
<modelVersion>4.0.0</>


<!--组织名称,一般为包名-->
<groupId>

<!--项目名称,project-->
<artifactId>xxx</>

<!--项目版本号 当前项目版本号,第一个数字:大版本;第二个数字,当前大版本下的一个小版本;第三个数字:常规更新、修复bug-->
<version>0.0.1</>

<!-- 依 赖 -->
<dependencies>
    <dependency>
        复制官网的代码即可
    </>
</>

Maven命令的执行:

在DOM窗口: mvc conpile

main下的java文件:会在target目录下自动创建一个classes文件夹。会把java文件自动编译 成 .class字节码文件,还有其他资源配置文件(src/resource下)。一并放入classes中。
test:下的文件:test文件下的不会编译成字节码文件。

在DOM窗口:mvc clean

会把输出的文件全部删除。

在DOM窗口:mvc test

会在target目录下生成:
- test-classes,将test目录下的文件编译后放入其中(还有src/resource下的资源文件)。
- surfire-reports:
- surfire:

在DOM窗口 : mvc package

完成打包操作,会在taget目录下生成一个包(可以是war也可以是jar包)
自动运行 编译 / 测试 之后,都通过,才会打包成功。(打包的方式,需要在pom.xml中增加配置:<packaging>war 或者 jar</>)(war包需要web.xml,否则会报错)
所以正确的操作是:/src/main/webapp/web.xml和WEB-INF,然后再使用命令:mvn package,就会生成war包和相应的资源。

在DOM窗口:mvn install

放入仓库

在DOM窗口:clean compile

先清理再编译

在DOM窗口:clean test

先清理,再测试。

依赖的作用范围:

在官网上找示例:

<>




</>

1、compile:编译范围

指A在编译时依赖B,此范围是默认依赖范围。

2、provided:编译时需要,运行时不需要。

比如servlet api 是tomcat容器提供。provided依赖只有

3、runtime:在运行和测试的时候需要,但在编译时不需要

比如jdbc驱动,运行时才会加载这个驱动。

4、test:在编译和运行时都不需要,只有在测试编译和测试运行阶段可用

比如junit测试框架。

5.综合IDEA使用

  • 新建project的时候选择maven

- 填写groupId/artifactId

只需要在pom.xml中配置几个核心基础包即可:因为其他的依赖包都会根据核心包的依赖树,来自动寻找。

1.spring web mvc
2.mybatis
3.mybatis对spring的支持
4.数据库连接的依赖:DBCP或者c3p0
5..spring tx/jdbc/test
pom.xml中:

<!-- 先整合Sping和Springmvc -->



<!--再整合Mybatis-->

Maven的聚合工程

建一个项目,然后 再新建一个modelu,然后选择parent项目。
一般父项目不编写代码,只是将子项目聚合在一起,所以父项目可以只配置环境,子项目中会继承父项目的pom.xml文件,子项目中就不需要导入各种依赖了。

猜你喜欢

转载自blog.csdn.net/qq_38962004/article/details/80703689
今日推荐