Maven总结一

Maven是什么

Maven是一个项目管理和综合工具。

  • 提供了开发人员构建一个完整的生命周期框架。
  • 使用标准的目录结构和默认构建生命周期。
  • 可以设置按标准在非常短的时间里完成配置工作。
    Maven的标准工程结构如下
    |-- pom.xml(maven的核心配置文件)
    |-- src
    |------main
    |------------java(Java源代码目录)
    |------------resource(资源文件目录)
    |–test
    |------------java(单元测试代码目录)
    |–target(输出目录,所有的输出物都存放在这个目录下)
    |----------classes(编译后的class文件存放处)

注:Maven的版本与JDK的版本相关联

一:Maven概述

1.1 Maven本地资源库:

Maven的本地资源库是用来存储所有项目的依赖关系(插件jar和其他文件,这些文件被Maven下载)到本地文件夹。
当创建一个Maven项目,所有相关文件将被存储在Maven本地仓库。
默认情况下,Maven的本地资源库默认为.m2目录文件夹。

1.2 Maven远程资源库

当创建一个Maven项目时,Maven会检查setting.xmlpom.xml根据文件中配置便于确定那些需要从本地资源库加载,哪些需要从远程资源库(中央资源库)下载。
首先:Maven将从本地资源库获得Maven的本地资源库依赖资源,如果没找到;
然后:它会从默认的Maven中央存储库http://repo1.maven.org/maven2/ 查找下载。
注:Maven中心储存库网站已改版本,目录浏览可能不再使用。这将直接被重定向到http://search.maven.org/
在Maven中,当声明的库不存在于本地存储库中,也不存在于Maven中心储存库,该过程将停止并将错误消息输出到Maven控制台。

1.3 Maven依赖库查找顺序:

当创建maven项目,它将依赖找不到失败并输出错误消息。
pom.xml

<repositories>
	<repository>
		<id>java.net</id>
		<url>http://maven.java.net/content/repositories/public/</url>
	</repository>
</repositories>

Maven依赖库查找顺序:
1》在Maven本地资源库中搜索,若未找到,进入第二步,否则退出;
2》在Maven中央存储库搜索,若未找到,进入第三步,否则退出;
3》在指定的远程存储库搜索,若未找到,提示错误信息,否则退出。

1.4 Maven私服

在这里插入图片描述

项目开发过程中所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件,加大了仓库的负载且浪费了外网带宽,如果网速慢的话,还会影响项目的进程。很多情况下项目的开发都是在内网进行的,连接不到maven仓库这时便需要搭建属于自己的maven私服,这样既节省了网络带宽也会加速项目搭建的进程,当然前提条件就是这个私服可以连接外网。

1.5 基于Maven全局设置

全局配置文件:settings.xml。
settings.xml文件位于Maven安装目录的conf目录下,或者在用户的Maven目录(通常是~/.m2/)下。这个文件可以配置Maven的全局行为,如远程仓库、代理设置、镜像等。

  • localRepository: 定义本地仓库的路径,默认位于 ~/.m2/repository。
  • interactiveMode: 指定 Maven 是否在交互模式下运行,true 表示允许提示输入信息。
  • offline: 如果设置为 true,Maven 将在离线模式下运行,不会尝试访问网络。
  • mirrors: 配置镜像仓库,用于替换 Maven 默认的中央仓库。
  • servers: 配置服务器认证信息,如发布构件到远程仓库时需要的用户名和密码。
  • proxies: 配置代理服务器信息,适用于需要代理访问网络的环境。
  • profiles: 定义多个配置文件(Profiles),可以根据需要激活不同的配置。
  • activeProfiles: 指定当前活跃的配置文件。
<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>/path/local/repo</localRepository>
	<!-- 是否启用交互模式 -->
    <interactiveMode>false</interactiveMode>
    <!-- 是否启用离线模式 -->
    <offline>false</offline>
	<!-- 配置镜像 -->
    <mirrors>
        <mirror>
            <id>alimaven</id>
            <mirrorOf>central</mirrorOf>
            <name>Aliyun Maven</name>
            <url>https://maven.aliyun.com/repository/public</url>
        </mirror>
    </mirrors>
	<!-- 配置代理 -->
    <proxies>
        <proxy>
            <id>example-proxy</id>
            <active>true</active>
            <protocol>http</protocol>
            <host>proxy.example.com</host>
            <port>8080</port>
            <username>proxyuser</username>
            <password>somepassword</password>
            <nonProxyHosts>www.google.com|*.example.com</nonProxyHosts>
        </proxy>
    </proxies>
	<!-- 配置服务器认证信息 -->
    <servers>
        <server>
            <id>deploymentRepo</id>
            <username>deployuser</username>
            <password>deploypassword</password>
        
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值