Maven的创建、使用、以及在Idea中的应用

目录:

一.为什么使用Maven?

二.Maven是什么?

三.Maven环境配置

四.Maven的核心概念

五.常用的Maven命令

六.Maven在Idea中的应用


一.为什么使用Maven?

  1.    如果项目比较庞大,就不适合用包来划分模块了
  2.    不利于分工
  3.    使用Maven来进行项目划分,将项目拆分成多个工程
  4.    Jar包必须手动复制粘贴到项目中
  5.    使用maven可以将jar包存储在“仓库”中,当需要使用是,我们可以去“引用”这个jar包
  6.    使用maven可以以一种规范的方式来下载jar包,因为知名的框架都是以这种规范来管理jar包的,并存放在“仓库”中,我们只需要进行配置,maven会自动帮我们去下载jar包,并帮我们下载jar包的其它依赖

二.Maven是什么?

Maven 是一款服务于Java平台的自动化构建工具

        Make -> Ant - > Maven -> Gradle


三.Maven环境配置

1.首先需要下载Maven,到官网下载这种形式

        apache-maven-3.8.6-bin.zip

2.然后就是配置环境

        1.M2_HOME:D:\tools\apache-maven-3.8.3    (解压的maven地址)

        2.path:D:\tools\apache-maven-3.8.3\bin         (解压的maven的bin地址)

3.查看maven的版本信息:

         在dos命令窗口输入:mvn -v

4.修改本地仓库的目录

        默认仓库为:c:用户/.m2/repository

        修改方式为:在apache-maven-3.8.3的目录下的conf\settings.xml

        添加指定仓库的位置:<localRepository>D:/tools/repository</localRepository>指定位置

5.添加远程仓库地址,这样下载jar的速度更快

添加位置:在apache-maven-3.8.3的目录下的conf\settings.xml

添加

		<mirror>  
			<id>alimaven</id>  
			<name>aliyun maven</name>  
			<url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
			<mirrorOf>central</mirrorOf>          
		</mirror>

四.Maven的核心概念

  1. 约定的目录结构

  2. POM

  3. 坐标

  4. 依赖

  5. 仓库

  6. 生命周期/插件/目标

  7. 继承

  8. 聚合

    1).约定的目录结构为:

  1. src:源码目录
  2. Pom.xml:maven项目的核心配置文件
  3. Main:项目的程序主目录
  4. Test:存放测试程序的目录
  5. Java:存放java源文件
  6. Resources:存放框架配置文件等

    2)Pom.xml的配置

<?xml version="1.0" ?>
<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.jf.maven</groupId>
	<artifactId>Hello</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<name>Hello</name>
	  
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.0</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
</project>

    3.)坐标--------------------------(这里的坐标值得是相对应用的位置,像x,y,z)

<groupId>junit</groupId>  <文件路径>
<artifactId>junit</artifactId>    <名字>
<version>4.0</version>    <版本号>
<scope>test</scope>  <依赖方式>
    

      4.)依赖

	<dependencies>       <依赖标题s>
		<dependency>      <依赖标题>
			<groupId>junit</groupId>     <依赖路径>
			<artifactId>junit</artifactId> <依赖名字>
			<version>4.0</version>  <版本号>
			<scope>test</scope>    <方式>
		</dependency>
	</dependencies>

五.常用的Maven命令

  1. mvn clean :清理
  2. mvn compile :编译主程序,在target目录下生产编译的结果
  3. mvn test-compile: 编译测试程序
  4. mvn test: 执行测试
  5. mvn package: 打包
  6. mvn install:安装,将项目打包成jar包,并复制到本地仓库中
  7. mvn stie:生成站点信息

     注意:执行与构建相关的命令,必须进入项目的根目录

生命周期的阶段

插件的目标

插件

compile

compile

maven-compiler

test-compile

testCompile

maven-compiler


六.Maven在Idea中的应用

1.首先需要在dos窗口中输入:mvn archetype generate,导入maven模板

2.然后在idea中创建

3.聚合

父类工程打包方式为pom
<packaging>pom</packaging>

子类工程打包方式,要继承父类
    <parent>
        <groupId>com.jf.parent</groupId>
        <artifactId>Parent</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

父工程声明依赖,这样子类在依赖的时候就不用指定版本号
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</dependencyManagement>


问题:有继承机构的maven项目,在打包或安装子工程时,必须先安装父工程


解决问题:  
聚合:这样就可以不用考虑子类还是父类,安装时只需要安装父工程即可 install
<modules>
    <module>../M1</module>
    <module>../M2</module>
    <module>../M3</module>
</modules>

4.在没有继承关系的时候应该怎样统一版本

<properties>
   <spring.version>4.3.4.RELEASE</spring.version>
</properties>

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-context</artifactId>
  <version>${spring.version}</version>
</dependency>

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-core</artifactId>
  <version>${spring.version}</version>
</dependency>

注意事项:

依赖的原则
    (1)	路径相同
        先配置的优先
    (2)	路径不同
        就近原则

总结:maven的基本应用以及,在项目中的添加使用。

补充
1.	IDEA中的 Project  相当于Eclipse系中的  Workspace ;
2.	IDEA系中的 Module  相当于Eclipse系中的  Project ;
3.	IDEA中一个 Project  可以包括多个  Module ;
4.	Eclipse中一个 Workspace  可以包括多个  Project;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值