Maven 简介

1.首先下载Maven:

链接:https://pan.baidu.com/s/15VRjw6gwlZ-dbz7dyp5YgA 
提取码:y3mb

然后解压

bin目录:该目录包含了mvn运行的脚本,这些脚本用来配置java命令,准备好classpath和相关的Java系统属性,然后执行Java命令。

 

boot目录:该目录只包含一个文件,以maven3.6.1为例,该文件为plexus-classworlds-2.6.0.jar。plexus-classworlds是一个类加载器框架,相对于默认的java类加载器,它提供了更丰富的语法以方便配置,Maven使用该框架加载自己的类库。更多关于classworlds的信息请参考http://classworlds.codehaus.org/。对于一般的Maven用户来说,不必关心该文件。

 

conf目录:该目录包含了一个非常重要的文件settings.xml,Maven的核心配置文件。

 

lib目录:该目录包含了所有Maven运行时需要的Java类库,Maven本身是分模块开发的,因此用户能看到诸如mavn-core-3.6.1.jar、maven-model-3.6.1.jar之类的文件,此外这里还包含一些Maven用到的第三方依赖如commons-cli-1.4.jar、commons-lang-3.8.1.jar等等。

 

2.Maven常用命令说明

 

mvn clean:表示运行清理操作(会默认把target文件夹中的数据清理)。

 

mvn clean compile:表示先运行清理之后运行编译,会将代码编译到target文件夹中。

 

mvn clean test:运行清理和测试。

 

mvn clean package:运行清理和打包。

 

mvn clean install:运行清理和安装,会将打好的包安装到本地仓库中,以便其他的项目可以调用。

 

mvn clean deploy:运行清理和发布(发布到私服上面)。

2.新建用户变量

3. path 中加入 bin路径

4.打开CMD命令,查看如果出现版本信息则配置环境变量成功。

5. 打开apache-maven-3.6.1\conf 目录下的setting.xml 文件修改默认仓库目录

修改前:

修改后:

6.查看maven默认仓库地址>全球中央仓库地址,maven默认从这个仓库下载jar包。

打开apache-maven-3.6.1\lib 下的压缩包maven-model-builder-3.6.1,

然后查看压缩包maven-model-builder-3.6.1.jar\org\apache\maven\model下的pom.xml文件

7.把全球中央仓库地址放入浏览器,可以看到很多资源,maven 默认从这个仓库下载依赖jar包

8.

新建目录D:\dev\code\maven_test\src\main\java\cn\lius,然后新建App.java 类

package cn.lius;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

新建目录 D:\dev\code\maven_test\test\java\cn\lius  ,新建AppTest.java

package cn.lius;

import static org.junit.Assert.assertTrue;

import org.junit.Test;

/**
 * Unit test for simple App.
 */
public class AppTest 
{
    /**
     * Rigorous Test :-)
     */
    @Test
    public void shouldAnswerWithTrue()
    {
        assertTrue( true );
    }
}

并添加pom.xml 文件

<?xml version="1.0" encoding="UTF-8"?>

<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>cn.lius</groupId>
  <artifactId>maven_test</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <name>app</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

</project>

9.打开cmd 命令行,进入D:\dev\code\maven_test 目录,输入mvn install  

 执行后,maven 会自动下载关联的依赖jar包。

执行结束后,会出现build success

这时候 maven_test 目录下会自动生成一个文件夹 target

打开target目录:

### Maven 的基本概念 Apache Maven 是一种强大的项目管理和构建自动化工具,广泛应用于 Java 开发领域。它基于 **项目对象模型 (POM)** 的核心理念,通过标准化的 XML 文件 `pom.xml` 来描述和管理项目的结构、依赖项以及其他元数据[^2]。 Maven 提供了一种统一的方式来定义项目的构建过程,并且能够自动处理复杂的依赖关系,从而显著提高开发效率。它的设计目标是让开发者专注于编写业务逻辑,而无需过多关注底层的技术细节。 --- ### Maven 的主要功能 #### 1. **项目构建** Maven 可以完成从源码到最终产物(如 JAR 或 WAR 文件)的整个构建流程。这包括但不限于清理旧文件、编译代码、运行单元测试、打包成品以及部署到远程仓库等操作[^4]。 #### 2. **依赖管理** 传统的方式通常需要手动下载所需的库文件并将它们放置在特定目录中,这种方式容易导致重复劳动或者遗漏某些间接依赖的情况发生。借助于 Maven 中央仓库的支持,只需简单声明所需组件名称及其版本号即可快速引入所有必要的资源[^3]。 以下是典型的 POM 配置片段用于指定外部依赖: ```xml <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies> ``` #### 3. **插件机制** 为了适应不同场景下的需求变化,Maven 设计了一个灵活可扩展框架——即所谓的 “Plugins”。几乎所有的任务都是由相应的 Plugin 完成的,例如生成站点文档、执行静态分析等等都可以找到对应的解决方案[^5]。 #### 4. **生命周期与阶段** 每一个完整的 Build 过程都被划分为若干个独立但又相互关联的小步骤称为 Phases ,这些 Phase 组成了 Lifecycle 。用户可以通过调用某个具体的名字触发一系列预设好的动作序列来达到目的[^2]。 常见 LifeCycles 包括 clean, default 和 site : - Clean : 删除之前产生的中间结果; - Default : 实现常规意义上的 Compile -> Test -> Package 流水线作业; - Site : 创建 HTML 格式的报告页面展示当前状态信息。 #### 5. **多模块支持** 当面对规模较大的软件工程项目时,往往倾向于将其分割成为多个子部分以便更好地组织代码结构。在这种情况下,利用 Parent-child 关系可以方便地共享公共设置同时保持灵活性。 --- ### 总结 综上所述,Maven 不仅简化了日常工作中频繁遇到的各种琐碎事务,而且提供了丰富的特性帮助团队更高效地协作开发高质量的应用程序[^5]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值