Maven

一、介绍

一个工具

maven的功能

1. 项目需求管理

    项目中jar包资源越来越多,jar包的管理越来越沉重。

    jar包 和版本

    java项目需要一个统一的便捷的管理工具:Maven (这里是Maven按照自己的格式建项目,不是我们)

        交互式

        非交互式

2. maven项目结构可以转换成其他任意结构(如 Web—war, java—jar)


二、介绍

Maven这个单词来自于意第绪语(犹太语),意为知识的积累.

Maven是一个基于项目对象模型(POM)的概念的纯java开发的开源的项目管理工具。主要用来管理java项目,进行依赖管理(jar包依赖管理)和项目构建(项目编译、打包、测试、部署)。此外还能分模块开发,提高开发效率。

镜像是我们jar包的地方   仓库是我们上传jar包的地方

三、配置Maven

1、本地仓库

maven的conf目录中有 settings.xml ,是maven的配置文件,做如下配置:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"

          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0   http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <!-- localRepository

  | The path to the local repository maven will use to store artifacts.

  |

  | Default: ${user.home}/.m2/repository

  <localRepository>/path/to/local/repo</localRepository>

  -->

  <!-- 选择一个磁盘目录,作为本地仓库 -->

  <localRepository>D:\Program Files\maven\myrepository</localRepository>


四、仓库

1.概念

    存储依赖的地方,体现形式就是本地的一个目录。

    仓库中不仅存放依赖,而且管理着每个依赖的唯一标识(坐标),Java项目凭坐标获取依赖。

2.仓库分类

当需要依赖时,会从仓库中取查找,优先顺序为:

本地仓库  >  私服(如果配置了的话) >  公共仓库(如果配置了的话) > 中央仓库

3.本地仓库

    即在settings.xml 中配置的目录。

    使用过了的依赖都会自动存储在本地仓库中,后续可以复用。

4.远程仓库

    包含:中央仓库和公共仓库

(1) 中央仓库

    Maven 中央仓库是由 Maven 社区提供的仓库,不用任何配置,maven中内置了中央仓库的地址。

    其中包含了绝大多数流行的开源Java构件。

https://mvnrepository.com/ 可以搜索需要的依赖的相关信息(仓库搜索服务)

http://repo.maven.apache.org/maven2/  中央仓库地址


(2) 公共仓库【重点】

    除中央仓库之外,还有其他远程仓库。比如aliyun仓库(http://maven.aliyun.com/nexus/content/groups/public/

    中央仓库在国外,下载依赖速度过慢,所以都会配置一个国内的公共仓库替代中央仓库。


<!--setting.xml中添加如下配置-->

<mirrors>

<mirror>

        <id>aliyun</id> 

        <!-- 中心仓库的 mirror(镜像) -->

        <mirrorOf>central</mirrorOf>   

        <name>Nexus aliyun</name>

        <!-- aliyun仓库地址 以后所有要指向中心仓库的请求,都会指向aliyun仓库-->

        <url>http://maven.aliyun.com/nexus/content/groups/public</url> 

    </mirror>


    <mirror>

<id>nexus-my</id>

<mirrorOf>central</mirrorOf>

<name>Nexus My</name>

<url>http://192.168.3.16:8081/repository/maven-central/</url>

    </mirror>

</mirrors>


设置库的位置:

配置用户名密码:

镜像:

(3) 私服【了解】

公司范围内共享的仓库,不对外开放。

可以通过 Nexus来创建、管理一个私服。


五、创建Maven项目

1、新建项目,要选择 Maven 选项

2、指定项目名

3、项目位置

4、项目结构

src/main/java 存放源代码,建包,放项目中代码(service,dao,User,....)

src/main/resources 书写配置文件,项目中的配置文件(jdbc.properties)

src/test/java 书写测试代码,项目中测试案例代码

src/test/resources 书写测试案例相关配置文件

目根/pom.xml (project object model) maven项目核心文件,其中定义项目构建方式,声明依赖等

注意:项目中的建包,建类,执行,都和普通项目无差异

5、项目类型

根据项目类型,在pom.xml中做出对应配置,添加配置:<packaging>war/jar</packaging>

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

    <modelVersion>4.0.0</modelVersion>

    <groupId>com.qf</groupId>

    <artifactId>test01</artifactId>

    <version>1.0-SNAPSHOT</version>

    <!-- 打包方式,如果是java项目则用 jar,

        如果是web项目则用war -->

    <!--<packaging>war</packaging>-->

    <packaging>jar</packaging>

</project>



dependencyManagement


六、总结

1.maven

    项目依赖管理

    maven项目可以转换为其他项目格式

2.maven的运行流程

    先去本地仓库找需要jar包, 找不到去远程仓库下载

    默认的本能地仓库 用户目录下的 .m2文件夹下

3.settings 文件的配置

    本地仓库位置

    server标签

    mirror 配置镜像

4.pom文件

    modelVersion

    groupId

    artifactId

    version

    packaging : pom jar war

    properties

    dependencies/dependency

    dependencyManagement/dependencies/dependency

    distributionManagement /repository snapshotRepository

    build/plugins/plugin

5.命令

    clean : 清理

    package : 打包

    install :  部署到本地

    deploy :  部署到远程仓库

6.scope

    jar包的生命周期

    表明当前jar存在的时间

7.nexus库的安装使用

    下载软件, 解压

    找到 nexus-3xx /bin 运行 nexus /install  nexus /start (启动时间较长, 稍等)

    第一次登陆密码 在snapshot /nexus3/admin.password

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。