Maven

        maven是一款管理项目生命周期的工具,核心的内容(project object model 项目对象模型)POM

1、项目生命周期

        1.1构建

                eclipse、myeclipse、idea等不同环境下统一项目环境

<!--生成eclipse项目-->
mvn eclipse:eclipse 生成eclipse环境
mvn eclipse:clean 删除eclipse环境

        1.2依赖管理

                引入第三方内容

                1、下载依赖

                2、版本维护:

                        源网站包—>maven中央仓库—>各私服仓库(huawei、ali)—>本地仓库

        1.3代码编写

                面向cv编程,面向bd编程

        1.4单元测试

                junit(保证项目的健壮)

        1.5打包部署

                开发环境、测试环境、生产环境

2、下载安装配置运行

        2.1下载

                maven下载链接: Maven – Download Apache Maven

        2.2安装

                解压到指定非中文位置。

        2.3配置环境变量

                path直接加上maven安装的位置的bin目录,比如我的是E:\tool\apache-maven-3.8.1\bin

        2.4运行

                打开命令提示符,用管理员运行,输入mvn -v,如下成功。

C:\Users>mvn -v
Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d)
Maven home: E:\tool\apache-maven-3.8.1\bin\..
Java version: 17.0.1, vendor: Oracle Corporation, runtime: E:\java17
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

        2.5、常用命令

<!--创建 Java 项目-->
mvn archetype:create
-DgroupId=com.javakc
-DartifactId=web1
<!--创建 Web 项目-->
mvn archetype:create
-DgroupId=com.javakc
-DartifactId=web1
-DarchetypeArtifactId=maven-archetype-webapp
<!--自动构建项目-->
mvn archetype:generate
<!--编译源代码-->
mvn compile
<!--测试源代码-->
mvn test
<!--编译测试代码-->
mvn test-compile
<!--项目打包-->
mvn package
<!--清理项目-->
mvn clean 

3、仓库配置

        构建项目需要模板,会先从本地仓库找,如果未找到就去从私服仓库下载。如果未配置私服仓库就会默认从maven中央仓库下载。由于maven中央仓库为外网,下载环境不稳定,故需要配置私服仓库来提升下载速度。在命令提示符中输入— mvn archetype:generate。

        3.1本地仓库

                默认位置为:C:\Users\~\.m2\repository

                自定义位置:需要修改conf\settings.xml配置文件

<localRepository>自定义路径</localRepository>

        3.2私服仓库

                需要修改conf\settings.xml配置文件

<mirrors>
    <!-- 址 华为镜像地址 -->
    <mirror>
        <id>huaweicloud</id>
        <mirrorOf>*</mirrorOf>
        <url>https://repo.huaweicloud.com/repository/maven/</url>
    </mirror>
    - <!-- 址 阿里云镜像地址 -->
    <mirror>
        <id>alimaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>
</mirrors>

4、项目构建

        4.1、项目类型

                java项目:org.apche.maven.archetypes:maven-archetype-quickstart

                web项目:org.apche.maven.archetypes:maven-archetype-webapp

        4.2、目录结构

                src源码目录

                        main核心目录——java核心目录        resources配置目录

                        test测试目录——java测试类目录        resources测试配置目录

                target编译目录

                pom.xml        maven项目核心配置文件

        配置idea

5、Maven创建项目

        5.1、生命周期

        Maven坐标为各种构件引入了秩序,任何一个坐标都必须明确定义自己的坐标,而一组Maven坐标是通过一些元素定义的。

        5.2、引入依赖

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

        5.3、maven坐标 

  <!-- 组织 -->
  <groupId>com.zhang</groupId>
  <!-- 项目名称 -->
  <artifactId>maven_web</artifactId>
  <!-- 版本号-->
  <version>1.0.0</version>
  <!-- 打包类型 -->
  <packaging>war</packaging>

         版本号命名方式:[主版本号.次版本号.修订版本号]
        主版本号:产品方向改变,或者大规模 API 不兼容,或者架构不兼容升级。
        次版本号:保持相对兼容性,增加主要功能特性,影响范围极小的 API 不兼容修改。                      修订版本号:保持完全兼容性,修复 BUG、新增次要功能特性等。

        5.4、scope作用域

        compile:默认值,他表示被依赖的项目从参与当前项目的编译,还有后续的测试,运行周期也参与其中,是一个比较强的依赖,打包的时候通常需要包含进去。

        test:依赖项目仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包(Junit)

        runtime:表示被依赖的项目无需参与项目的编译,不过后期的测试和运行周期需要其参与,与comlile相比,跳过了编译而已。例如JDBC驱动,使用运行和测试阶段。

        provided:打包的时候可以不用包进去,别的设施会提供。事实上该依赖可以参与编译,测试,运行等周期。相当于compile,但是打包阶段做了exclude操作。

        system:从参与度来说和provided相同,不过被依赖项不会从maven仓库下载,而是从本地文件系统拿。需要添加systemPath的属性来定义路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值