maven笔记

什么是Maven?

而Maven就是一款帮助程序员构建项目的工具,我们只需要告诉Maven需要哪些Jar 包,它会帮助我们下载所有的Jar,极大提升开发效率。

若要使用Maven,那么项目的目录结构必须符合Maven的规范,其目录结构如下:

Maven基本命令

 -v:查询Maven版本 本命令用于检查maven是否安装成功。

    Maven安装完成之后,在命令行输入mvn -v,若出现maven信息,则说明安装成功。

    compile:编译

    将java源文件编译成class文件

    test:测试项目

    执行test目录下的测试用例

    package:打包

    将项目打成jar包

    clean:删除target文件夹

    install:安装

    将当前项目放到Maven的本地仓库中。供其他项目使用

什么是Maven仓库?

Maven仓库用来存放Maven管理的所有Jar包。分为:本地仓库 和 中央仓库。

    本地仓库:Maven本地的Jar包仓库。

    中央仓库: Maven官方提供的远程仓库。

当项目编译时,Maven首先从本地仓库中寻找项目所需的Jar包,若本地仓库没有,再到Maven的中央仓库下载所需Jar包。

什么是“坐标”?

在Maven中,坐标是Jar包的唯一标识,Maven通过坐标在maven远程仓库中找到项目所需的Jar包。

如下代码中,groupId和artifactId构成了一个Jar包的坐标。
      

<dependency>

       <groupId>cn.missbe.web.search</groupId>

       <artifactId>resource-search</artifactId>

       <packaging>jar</packaging>

       <version>1.0-SNAPSHOT</version>
<!--可有packaging:定义该项目的打包方式,但是属于maven    -->


    </dependency>

    groupId:所需Jar包的项目名

    artifactId:所需Jar包的模块名

    version:所需Jar包的版本号

仓库地址:http://mvnrepository.com有坐标的书写方式等,直接在里面搜索;

仓库配置

现在idea默认的本地仓库是在.m2中,可以在maven里面创建文件夹(名字都可以);具体操作

IDEA如何配置 Maven 及 Maven 安装过程(详细版)_IT小郭.的博客-CSDN博客

全局setting和用户setting

全局setting定义了当前计算机中的公共配置,用户setting定义了当前用户的配置

创建maven项目

使用maven加载tomcat插件

在定位的网站上查找定位信息,

<!-- https://mvnrepository.com/artifact/org.apache.tomcat.maven/tomcat7-maven-plugin -->
<dependency>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
</dependency>

要想添加插件,先在pom.xml中输入标签

<!--  构建-->
  <buid>
<!--    设置插件-->
    <plugins>
<!--      具体的插件配置-->
      <plugin>
        <!-- https://mvnrepository.com/artifact/org.apache.tomcat.maven/tomcat7-maven-plugin -->
        <dependency>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.2</version>
        </dependency>

      </plugin>
    </plugins>
  </buid>

也可以在系统中存在的插件buid标签中进行设置

<plugin>
   <!-- https://mvnrepository.com/artifact/org.apache.tomcat.maven/tomcat7-maven-plugin -->
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
 </plugin>

如果存在爆红请重新加载maven项目,点击

就可以运行起来,并到jsp页面

 <!--          设置端口号和访问路径-->
  <configuration>
<!--端口不要设置为被占用端口-->
            <port>80</port>
            <path>/</path>
</configuration>

每次点击run非常麻烦,可以在编辑配置中,命令行一定书写正确

<?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">
<!--  指定pom的模型版本-->
  <modelVersion>4.0.0</modelVersion>
<!--组织id-->
  <groupId>org.example</groupId>
<!--  项目id-->
  <artifactId>untitled1</artifactId>
<!--  版本号:release/snapshot-->
  <version>1.0-SNAPSHOT</version>
  <!--打包方式,web工程打包为war,java工程打包为jar-->
  <packaging>war</packaging>
<!--设置当前工程的所有依赖-->
<dependencies>
     <!--    这是代表具体的依赖-->
    <dependency>
            <!--      groupId:所需Jar包的项目名-->
            <!--      artifactId:所需Jar包的模块名-->
            <!--      version:所需Jar包的版本号-->
         <groupId></groupId>
        <artifactId></artifactId>
        <!--      依赖的版本-->
        <version></version>
    </dependency>
</dependencies>

 依赖管理

   依赖是指当前项目运行所需要的jar包,一个项目可以设置多个依赖

依赖的格式如上图代码

        传递依赖

我们来具体配置几个依赖:

<!-- 依赖传递,比如项目1要用到项目2,就必须把项目二作为一个资源配置到项目一中去-->

<dependency>
  <groupId>org.example</groupId>
  <artifactId>untitled2</artifactId>
  <version>1.0-SNAPSHOT</version>
</dependency>

必须让idae显示两个项目,可以通过这种方式

        可选依赖和排除依赖

 

 

        依赖范围

 

 生命周期与插件

        项目构建生命周期

                maven对项目构建的生命周期划分为三套

                        1.chean:清理工作

                        2.default:核心工作,例如编译、测试、打包、部署等

                        3. site:产生报告,发布站点

 clean生命周期

        pre-clean:执行一些需要在clean之前完成的工作

        clean:移除所有上次构建生成的文件

        post-clean:执行一下需要在clean之后立刻完成的工作

default生命周期

 

siti的生命周期

        pre-site:执行一些需要在生成站点文档之前完成的工作

        site:生成项目的站点文件

        post-site:执行一些需要在生成站点文档之后完成的工作,并且为部署做准备

        site-deploy:将生成的站点文档部署到特定服务器上

插件

插件与生命周期内的阶段绑定,在执行到对应生命周期时执行对应的插件功能

默认maven在各个生命周期上绑定有预设的功能

           <!--代表执行配置-->
          <executions>
            <!--可以配置在多个地方执行-->
            <execution>
              <!--  对应的执行位置   -->
              <goals>
                <goal>test-jar</goal>
              </goals>
              <!--  执行的生命周期-->
              <phase>generate-test-resources</phase>
            </execution>
          </executions>

通过插件可以自定义其他功能

分模块开发与设计

        工程模块与模块划分

        相当于把之前的controller表现层拆分成一个项目,数据层dao独立项目,把业务层service独立,这样就进行了模块划分,他们之间通信是通过接口

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值