Maven最详细篇章

简介: Maven最详细篇章

 1.为什么学习maven:

     

学习Maven是因为它是Java开发中最常用的构建工具之一,具有以下几个重要的理由:

  1. 依赖管理:Maven可以帮助你管理项目依赖,通过配置项目的pom.xml文件,你可以简单地指定需要的依赖库和版本号,Maven会自动下载所需依赖,并且解决依赖之间的冲突。
  2. 构建工具:Maven提供了一套标准的构建生命周期和插件机制,可以自动化执行常见的构建任务,如编译、打包、测试、部署等。使用Maven可以大大简化构建过程,提高开发效率。
  3. 项目管理:Maven提供了项目结构标准和规范,可以让项目的开发、测试、部署等环节更加一致和可维护。通过Maven的聚合功能,可以将多个子项目组织在一起,方便进行整体构建和管理。
  4. 插件生态系统:Maven拥有丰富的插件生态系统,可以方便地扩展和定制构建过程。你可以根据项目的需求选择适合的插件,例如静态代码分析、代码覆盖率检测、文档生成等。
  5. 共享与协作:Maven提供了中央仓库和本地仓库的机制,让开发者可以方便地共享和复用代码库。同时,Maven还支持团队协作,可以轻松地分享项目配置和依赖管理,提高团队的合作效率。

综上所述:学习Maven可以让你更加高效地进行Java开发,提升开发效率和代码质量。无论是个人项目还是团队项目,Maven都是一个非常有用的工具。

   2.概念:

给大家提供一张图片参考:

mvnrepository:中央仓库:

mvnrepository.com 是一个非官方网站,提供了对 Maven 中央仓库的浏览、搜索和下载功能。中央仓库是 Maven 社区维护的一个公共仓库,存储了大量的开源 Java 项目依赖。

在 mvnrepository.com 上,你可以搜索特定的 Maven 依赖库,获取相关的信息,包括依赖的最新版本、所需的坐标信息(groupId、artifactId、version)、依赖的传递性等。你还可以下载依赖的 JAR 文件、查看依赖的文档和源码。

使用 mvnrepository.com 可以方便地查找和管理依赖库。当你需要在 Maven 项目中添加新的依赖时,你可以通过搜索功能找到所需的库,并复制相应的坐标信息到你的项目的 POM 文件中。然后 Maven 就会自动下载所需的依赖并将其添加到类路径中,使你可以在项目中使用这些库。

需要注意的是,尽管 mvnrepository.com 提供了方便的搜索和浏览功能,但它并不代表官方的 Maven 中央仓库。官方的 Maven 中央仓库可以通过 Maven 的配置直接访问。你可以在你的项目的 POM 文件中配置仓库,或者通过 Maven 的配置文件 settings.xml 添加自定义的仓库。

总之,mvnrepository.com 是一个有用的工具,可以帮助你在 Maven 项目中查找和管理依赖库。

私服:阿里云仓库:

阿里云仓库是阿里云提供的一个私有远程仓库服务,用于存储和管理项目的依赖库。与Maven的中央仓库类似,阿里云仓库可以作为项目依赖的来源,同时也可以作为团队内部共享依赖的平台。

使用阿里云仓库有以下几个优势:

  1. 快速下载:阿里云仓库部署在全球多个地域,访问速度较快,可以加快依赖的下载速度,特别是对于一些较大的依赖文件。
  2. 高可用性和稳定性:阿里云仓库具有高可用性和稳定性,可以保证依赖库的可靠性和持续访问性,从而避免由于中央仓库不可访问而导致的构建失败或延迟。
  3. 安全性:阿里云仓库提供了私有仓库的功能,可以将公司内部的私有依赖库存储在阿里云上,确保代码的安全性和保密性。
  4. 管理与权限控制:阿里云仓库提供了丰富的管理功能,可以对仓库进行细粒度的权限控制,管理团队成员对依赖库的访问和操作权限。

要使用阿里云仓库,首先需要在项目的 Maven 配置中添加阿里云仓库的配置信息,包括仓库地址、认证凭据等。一旦配置完毕,在项目的 POM 文件中声明依赖时,Maven 就会通过阿里云仓库下载所需的依赖。

总的来说,阿里云仓库是一个方便、稳定和安全的私有仓库服务,可以提供更好的依赖管理和下载体验,特别适合在公司内部或需要更快速下载依赖的场景中使用。

私人电脑:本地仓库:

本地仓库是 Maven 默认使用的仓库之一,它位于你个人电脑上的一个特定目录中,用于存储已下载的依赖库和插件。每当你构建一个 Maven 项目时,Maven 会首先查找本地仓库,如果所需的依赖库存在于本地仓库中,那么它将直接使用本地仓库中的依赖,避免重复下载。

本地仓库的默认位置是在你的用户目录下的 “.m2” 文件夹中(如:C:\Users\YourUsername.m2)。在这个目录里,有一个名为 “repository” 的文件夹,它就是本地仓库的默认存放位置。当你第一次使用 Maven 构建项目时,它会自动下载和缓存所需的依赖库到本地仓库中。

本地仓库有以下几个特点和用途:

  1. 缓存依赖:首次下载依赖后,Maven 会将其保存在本地仓库中。这样,在后续的构建中,如果相同版本的依赖被需要,Maven 将会直接使用本地仓库中的依赖而不再去远程仓库下载,提高构建速度和离线工作能力。
  2. 离线构建:本地仓库使得在没有网络连接的情况下进行构建成为可能。只要所需的依赖库已经存在于本地仓库中,Maven 就可以根据本地仓库中的依赖进行构建,而不需要联网下载。
  3. 安全性和可控性:本地仓库只存在于你个人电脑上,可以提供更好的安全性和可控性。你可以控制本地仓库的访问权限,并保持它与其他人隔离。

需要注意的是,本地仓库并不会自动更新。如果你手动删除了某个依赖,或者需要更新某个依赖的版本,你可能需要手动执行 Maven 的一些命令(如 “mvn clean install”)来重新下载或更新依赖。

总结而言,本地仓库是 Maven 在个人电脑上用于存储下载的依赖库的地方。它提供了离线构建和缓存依赖的功能,方便构建过程的加速和离线工作。

  3.maven的使用过程:

  1.通过中央仓库地址mvnrepository.com获取pom依赖字符串

  2.将字符串粘贴到maven工程的指定文件pom.xml中

  3.从中央仓库将指定公司,项目,版本下载下来,下到本地仓库

  4.将本地的jar在工程中进行引用

4.maven的安装及配置:

配置maven_home

配置path:

打开cmd命令输入 mvn -version

必须要得到它的版本和具体使用的是哪一个地址

 

配置本地仓库:

换成自己的阿里云镜像

 

5.eclipse3集成maven完成测试

   开一个新的工作区间:

配置utf-8

配置servers和tomcat:

关掉检验:

配置maven,必须是bin目录的上一层:

配置用户,随便哪一个都可以:

第一次创建了项目下载了之后他的目录里面就有了一些插件 :

报了感叹号把√去掉:

去掉√之后,这是一个比较全的目录结构:

在中央仓库里面找到xml文件的配置:

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.zking</groupId>
  <artifactId>t287_maven</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>t287_maven Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.44</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>4.0.1</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>t287_maven</finalName>
  </build>
</project>

如果我需要改版本则修改cersion在保存就会自动下载:

如果想要继续写代码则需要测试一下配置文件:

必须输出这个结果才可以继续写代码:

总输出结果:

 

目录
相关文章
|
缓存 Java Maven
maven问题整理
maven问题整理
81 0
|
Java Maven Nacos
Maven - Maven 核心概念一网打尽:轻松掌握项目构建与管理技巧
Maven - Maven 核心概念一网打尽:轻松掌握项目构建与管理技巧
106 0
|
Java 测试技术 Maven
maven全解
maven全解
107 0
|
5月前
|
存储 缓存 Java
一文搞懂:什么是maven
一文搞懂:什么是maven
30 0
|
IDE Java Apache
Maven知识【Maven简介】第一章
Maven知识【Maven简介】第一章
|
Java 数据库连接 Maven
Maven学习(三)
Maven学习
73 0
|
存储 Java 测试技术
Maven基础理论知识整理
Maven基础理论知识整理
85 0
|
Java 测试技术 项目管理
关于Maven,我是如何理解并使用的
Maven是一个构建工具,这个构建工具能够帮助你更好的管理包的依赖、还能够为你实现项目的热部署、还能为你运行所有的测试用例、还能够为你项目的打包、发布、还能够实现项目的多模块构建。本文谈...
138 0
|
Java Maven Android开发
Maven简明教程
Maven简明教程
242 0
|
Java Maven Android开发
谈谈maven多模块
记得在校的时候,通常用的比较多是动态web工程,动态web工程导入最多就是jar包,这些jar包需要自己手动复制粘贴放入lib目录下,然后build path,有的IDE会自动build path有的需要手动选中所有lib,然后build path。
3547 0