Maven详细配置

在这里插入图片描述

1. 为什么要用 Maven
1.1 项目管理问题
1. 项目中需要引入的第三方 Jar 包越来越多,导致项目占用资源过多。
2. Jar 包增加导致项目管理繁琐。
	a. Jar 包依赖问题,可能一个 Jar 包需要其他多个 Jar 辅助工作。
	b. 需要进行版本迭代,所有相关 Jar 包都需要整体替换。
	c. 导致 Jar 包冗余,Jar 包引入多次
1.2 解决方案
目前比较流行的:
	Maven

企业中有部分正在流行使用
	Gradle
2. Maven 概述
	Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念。Maven 主要管理 Jar 包依赖,Jar 版本控制,项目构造,项目管理..提高开发效率,降低项目冗余
3. Maven 安装
3.1 下载 Maven
推荐从官网下载,目前 Maven 的最新版本是 3.8,上课使用 3.6

Maven官方下载地址

请添加图片描述

3.2 Maven 安装
第一步:
	解压,主要解压路径不能有中文,不能在 C 盘
	
	解压之后的目录结构:
		bin:
			MVN 执行相关工具,脚本文件
		boot:
			Maven 运行辅助类库
		conf:
			配置文件,核心配置文件 settings.xml
		lib:
			Maven 运行对应的 java 类库

第二步:
	配置 Maven 环境变量
	a. 配置系统变量 MAVEN_HOME 对应的变量值是 MAVEN 安装路径

在这里插入图片描述

	b. 修改 path 添加 %MAVEN_HOME%\bin

在这里插入图片描述

	c. 测试 MVN 环境
cmd > mvn -v

在这里插入图片描述

3.3 Maven 配置 settings.xml
3.3.1 本地仓库配置
Maven 管理的 Jar 包,获取方式简单总结三种方式:
	1. 远程仓库 【常用】
	2. 本地仓库 【常用】
	3. 私服
<settings 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>
  -->
  <!-- 选择一个非C盘,无中文,无特殊符号路径,作为本地 Jar 包仓库目录 -->
  <localRepository>D:\WEBSoft\repository</localRepository>
3.3.2 默认JDK配置
配置当前 Maven 管理创建的 Java 项目默认的 JDK 版本
<profiles>
    <!-- 在 profiles 标签中 添加 profile 标签内容 明确新建项目 默认 JDK 为 1.8-->
	<profile>    
        <id>JDK8</id>    
        <activation>    
            <activeByDefault>true</activeByDefault>    
            <jdk>1.8</jdk>    
        </activation>    
        <properties>    
            <maven.compiler.source>1.8</maven.compiler.source>    
            <maven.compiler.target>1.8</maven.compiler.target>
            <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> 
        </properties>    
    </profile>
</profiles>
<!-- 添加的  profile 生效 -->
<activeProfiles>
	<activeProfile>JDK8</activeProfile>
</activeProfiles>
3.3.3 远程仓库配置
极大的提高 Maven 获取下载 Jar 包速度,默认是访问境外路径,网速受限,速率降低,推荐使用 阿里巴巴官方镜像!!!
免费,公开,速度快,效率高!!!
 <mirrors>
	 <!-- 配置 Maven 镜像 阿里巴巴公共仓库 -->
	 <mirror>
		 <id>alimaven</id>
		 <name>aliyun maven</name>
		 <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
		 <mirrorOf>central</mirrorOf>
	 </mirror>
  </mirrors>
4. Maven 仓库
4.1 概念
1. 存储 Jar 包对应的位置,存储项目依赖对应的位置。
2. 每一个 Jar 包/ 每一个依赖都有一个唯一的标识(坐标),Java 项目可以根据坐标找到对应依赖【规范】
4.2 仓库分类

在这里插入图片描述

当前一个项目需要依赖的时候,查询对应依赖的顺序:
	本地仓库 > 私服(一般公司会配置公司内部私服) > 公共仓库(需要配置) > 中央仓库
	
	Maven 会根据当前项目所有的依赖/ Jar 包检索对应的 Jar 包内容,如果本地没有,从远端下载,存储到本地,二次使用时,优先选择本地仓库
	Spring-context
	Spring-core

本地仓库,远程仓库都在 settings.xml 中配置
	本地:<localRepository>D:\WEBSoft\repository</localRepository>
	远程:<mirror>....</mirror>
4.3 中央仓库
	Maven 默认使用你的是 Maven 社区提供的中央仓库,如果需要搜索检索依赖关系,可以在中央提供的搜素依赖网站进行检索功能:	
	【重点】https://mvnrepository.com/ Maven 提供的中央仓库检索网站

Maven 依赖关系检索网站

4.4 公共仓库【阿里巴巴】
http://maven.aliyun.com/nexus/content/groups/public/
阿里巴巴在国内提供的官方镜像 公共仓库 可以提供下载效率。
5. IDEA 配置 Maven 环境

在这里插入图片描述

在这里插入图片描述

6. IDEA 创建 Maven 项目
6.1 Maven项目

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6.2 Maven Java WEB 项目

在这里插入图片描述

在这里插入图片描述

<groupId>com.qfedu</groupId>
<artifactId>Day55_MavenWebApp_GL</artifactId>
<version>1.0-SNAPSHOT</version>
<!--
    packaging 约束当前项目的打包方式
    如果是 Java 项目 ==> jar ==> Java Application Archive
    如果是 Java Web 项目 ==> war ==> Web Application Archive
-->
<packaging>war</packaging>
<!-- 项目依赖坐标 dependencies 每一个 dependency 对应一个依赖 -->
    <dependencies>
        <!-- junit测试依赖 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <!-- servlet 程序依赖 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
        </dependency>
        <!-- JSP 依赖 -->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.2.1-b03</version>
        </dependency><!-- BeanUtils依赖 -->
        <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>1.9.4</version>
        </dependency>
        <!-- fastJson -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.75</version>
        </dependency>
        <!-- dom4j -->
        <dependency>
            <groupId>dom4j</groupId>
            <artifactId>dom4j</artifactId>
            <version>1.1</version>
        </dependency>
        <!-- Xpath -->
        <dependency>
            <groupId>jaxen</groupId>
            <artifactId>jaxen</artifactId>
            <version>1.2.0</version>
        </dependency>
        <!--  mysql -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <!--  jstl 依赖 -->
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.8</version>
        </dependency>
    </dependencies>

在这里插入图片描述

7. 依赖生命周期
导入的依赖/Jar包,有效范围,生命周期
项目对于依赖的生命周期:
	测试 编译 运行 打包
	
	test 有且当前依赖/Jar包,只在测试代码中有效,参与测试代码的编译和运行,项目部署无效,也不会打包到项目对于 war 包中。例如 junit
	compile 缺省修饰,当前 依赖/Jar包 代码的所有过程,测试 编译 运行 打包。
	runtime 运行时有效 测试 运行 打包 mysql驱动
	provided 和 compile 类似,参与测试,编译,运行,打包 例如 Servlet-api
	system Maven 不会在仓库(本地仓库和远程仓库)中查询对应的依赖/Jar包,只会在当前项目所在磁盘中找出到对应依赖/Jar包,一般用于测试,运行
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Maven是一个Java项目管理和自动化构建工具,它可以帮助我们更轻松地管理项目依赖、构建和发布等任务。在使用Maven之前,我们需要进行一些配置。下面是Maven配置详细步骤: 1. 下载Maven 首先,我们需要从官方网站(https://maven.apache.org/download.cgi)下载最新版本的Maven。下载完成后,我们需要解压缩到本地目录。 2. 配置环境变量 为了让系统能够识别Maven命令,我们需要将Maven的bin目录添加到系统环境变量中。具体步骤如下: - 打开系统环境变量设置界面。 - 在“系统变量”中,找到“Path”变量,点击“编辑”按钮。 - 在变量值中添加Maven的bin目录路径,多个路径之间用分号分隔。 例如: ``` C:\Program Files\apache-maven-3.8.1\bin; ``` 3. 配置Maven本地仓库 Maven会将下载的依赖包存储在本地仓库中,我们需要配置本地仓库的路径。具体步骤如下: - 打开Maven解压目录下的conf目录。 - 找到settings.xml文件,用文本编辑器打开。 - 在文件中找到“localRepository”标签,修改其值为本地仓库路径。如果没有该标签,可以在文件中添加。 例如: ``` <localRepository>/Users/YourName/.m2/repository</localRepository> ``` 4. 配置Maven镜像 Maven镜像是指从哪个仓库获取依赖包。为了加快依赖包下载速度,我们可以配置Maven镜像。具体步骤如下: - 打开settings.xml文件。 - 找到“mirrors”标签,如果没有则可以在文件中添加。 - 在“mirrors”标签中添加一个“mirror”标签,配置镜像地址和id。 例如: ``` <mirrors> <mirror> <id>aliyun</id> <name>aliyun Maven 镜像</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> ``` 5. 配置Maven代理 如果您的环境需要使用代理服务器才能访问外网,那么您需要配置Maven代理。具体步骤如下: - 打开settings.xml文件。 - 找到“proxies”标签,如果没有则可以在文件中添加。 - 在“proxies”标签中添加一个“proxy”标签,配置代理地址、端口号和协议类型。 例如: ``` <proxies> <proxy> <id>http_proxy</id> <active>true</active> <protocol>http</protocol> <host>proxy.example.com</host> <port>8080</port> </proxy> </proxies> ``` 6. 配置Maven默认编码 为了避免编码错误,我们需要配置Maven默认编码。具体步骤如下: - 打开settings.xml文件。 - 找到“profiles”标签,如果没有则可以在文件中添加。 - 在“profiles”标签中添加一个“profile”标签,配置默认编码类型。 例如: ``` <profiles> <profile> <id>default</id> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> </properties> </profile> </profiles> ``` 7. 配置Maven插件 Maven插件可以帮助我们更方便地管理项目。具体步骤如下: - 打开settings.xml文件。 - 找到“plugins”标签,如果没有则可以在文件中添加。 - 在“plugins”标签中添加一个“plugin”标签,配置插件信息。 例如: ``` <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> ``` 以上就是Maven配置详细步骤。根据实际需求,您可以自由选择需要配置的部分。配置完成后,您就可以使用Maven来管理和构建您的Java项目了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值