Maven

1.为什么我们要学习 maven?

        在还没有maven的时候,我们有以下令人头疼的问题
       1.jar 包难以寻找
       2.jar 包依赖的问题
       3.jar 不方便管理
       4.项目编译

2.Maven 简介

        Maven 是 Apache 软件基金会的一个开源项目,是一个优秀的项目构建工具,它
用来帮助开发者管理项目中的 jar,以及 jar 之间的依赖关系、完成项目的编译、
测试、打包和发布等工作。

        Maven 中的概念

                pom(Project Object Model 项目对象模型)

                Maven 管理的项目的根目录下都有一个 pom.xml 文件。pom.xml 文件指示Maven 如何         工作。
                在 pom.xml 文件中配置项目基本信息以及项目构建信息等。比如:项目坐标、项目依赖          的jar、插件、编译选项等。
                一旦在 pom.xml 文件中配置了所依赖的 jar,Maven 会自动从构件仓库中下载相应的构         件。

                项目坐标

                maven 给每个 jar 定义了唯一的标志,这个在 maven 中叫做项目的坐标,通过 这个坐         标可以找到你需要 用到的任何版本的 jar 包。 groupId、artifactId、packaging、version 的组         合被称为项目的坐标,它们形 成了项目的唯一标识,Maven 通过坐标来精确定位构件。其中         groupId、artifactId、version 是必须的,且 这三项的值必须唯一,packaging 是可选的(默认         为 jar)。

                仓库

                中央仓库全球共享,先将 jar 从中央仓库下载到本地仓库,然后在项目中引用本地

        仓库的 jar.

 3.Maven 开发环境搭建

        前提

                安装jdk并保持网络通畅

        1 下载 maven 服务器

                maven 官网:http:// maven.apache. org

                点击 download 进行下载

        2 安装,配置 maven

                点击下载二进制的 apache-maven-3.6.0-bin.zip 进行解压,然后在系统环境中配置环境变量,在path中配置到bin目录,配置成功后输入命令mvn -version查看版本

 
                如上图则表示 maven 环境配置成功。

       3 配置本地仓库地址             

                在 maven 的服务器解压的文件中找到 conf 文件夹下的settings.xml 文件进行修改
                1.指定maven本地仓库

 

                2. 配置阿里云 maven 镜像仓库,下载速度更快
                        
                    <mirror>
                        <id>alimaven</id>
                        <name>aliyun maven</name>
                        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
                        <mirrorOf>central</mirrorOf>
                     </mirror>

        4.idea 中设置 maven

                File -- New Projiects Settongs --Setting for New Projects

 

 4.idea创建maven项目

 

 5.Pom.xml配置

maven仓库官网 (https://mvnrepository.com/),打开官网即可下载自己所需jar包

以servlet jar包为例:

在pom.xml中配置

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>
各个子元素功能解释:
<groupId>:组id,仓库的目录地址
<artifactId>:jar包名称
<version>:jar包版本
<type>:依赖项的 packaging 类型,有jar和war两种类型,默认是 jar
<scope>:依赖项的作用域,默认是 compile。各个取值及含义如下:
        compile:编译时和运行时依赖。如果你的项目最终打包为 war 包,则该依赖
        包会被拷贝到 war 包中的 lib 目录中。
        provided:编译项目主代码和测试代码时使用此依赖项,运行时由 jre 或 web
        容器提供。如果你的项目最终打包为 war 包,则该 jar 包不会被打包。

6.maven命令 

        Maven 常用命令
                1. compile  编译
                2. clean      删除 target
                3. package 打包
                4. install     把项目 install 到本地仓库
                5. test         运行测试代码

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值