1.Maven

0.1概述

        Maven是专门用于构建和管理项目的工具。

0.2项目的开发和管理

        1.maven可以管理jar文件

        2.自动下载jar文件和它的文档,源代码

        3.管理jar版本

        4.管理jar之间的依赖

        5.帮你编译程序,把java编译为class

        6.帮你测试你的代码是否正确

        7.帮你打包文件,形成jar文件,或者war文件

        8.帮你部署项目

0.3项目的构建

        项目的构建是面向过程的。

        maven支持的构建包括有:

                1.clean清理:把之前项目编译的东西删除。

                2.compile编译:把程序源代码编译为执行代码。java-class文件。

                3.test测试:meven可以测试程序代码,验证功能是否正确。

                4.test-compile报告:生成测试结果的文件,测试通过没有。

                5.package打包:把项目中的所有class文件,配置文件等所有资源放到一个压缩文件中。

                        java程序,压缩文件是jar扩展名的。

                        web应用,压缩文件是war扩展名的

                6.install安装:把jar、war压缩文件保存到本地仓库。

                7.deploy部署:部署主程序,会把本工程打包,并保存到本地仓库,并且还会保存到私服仓库,还会自动把项目部署到web容器中。

0.4maven核心概念

        POM:项目对象模型,管理jar依赖。

        约定的目录结构:mven项目的目录和文件的位置都是规定好的。

        坐标:表示资源。

                groupid:组织名,通常是公司组织域名倒序+项目名

                artifactid:模块名,通常是工程名

                version:版本号

                artifactid和version决定jar包的名称

        依赖管理:项目可以使用的jar文件,maven会根据坐标自动到本地仓库进行查找。

                对于自己的maven项目需要进行安装,才能保存到仓库中。

        仓库:资源存放的位置。

                本地仓库:个人计算机上的文件夹。

                远程仓库:互联网上的,有网络才能使用的仓库。

                        中央仓库:最权威的,所有开发人员都共享使用的一个集中的仓库。

                        中央仓库的镜像:中央仓库的备份,在各大洲,重要城市都有镜像。

                        私服:在公司内部,在局域网中使用的,不对外使用。

        生命周期:maven工具构建项目的过程就是生命周期。

        插件和目标:执行mven构建的时候用的工具就是插件。

        继承

        聚合

0.5安装

        1.需要从maven官网下载安装包,用的最广泛的是3.3.9的

        2.解压到一个英文目录

                bin目录:可执行程序,主要是mvn.cmd

                conf目录:maven工具本身的配置文件settings.xml

        3.配置环境变量,指定一个M2_HOML的名称,值为maven的安装目录,bin之前的目录

        4.测试cmd:mvn -v

                修改本机存放资源的目录位置,修改settings.xml

                <local_repository>指定你的目录(不要使用中文目录),把路径的\改为/

0.6单元测试

        1.概述

                用的是junit,是一个专门测试的框架。

                测试的内容:类中的方法,每个方法都是独立的,方法是测试的基本单位(单元)

                maven借助单元测试,批量的测试你类中的大量方法是否符合预期

        2.使用步骤:

                (1)在pom.xml加入单元测试依赖

                (2)在maven项目中的src/test/java目录下,创建测试程序

                        测试类的名称:Test+你要测试的类名

                        测试方法的名称:Test+方法名称

                        方法必须是public,没有返回值

                (3)在方法上面加上@Test注解

0.7常用插件

        1.maven的编译插件。设置项目使用的jdk版本通过编译插件指定

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.8.1</version>
      <configuration>
          <!--告诉maven,我们写的代码是在jdk1.8上编译的-->
        <source>1.8</source>
        <!--我们的程序应该运行在jdk1.8上-->
        <target>1.8</target>
      </configuration>
    </plugin>
  </plugins>
</build>

         或者在<dependencies>上面加

<properties>
  <!--mavne构建项目使用的是utf-8,避免中文乱码-->
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <!--编译java代码使用的是jdk版本-->
  <maven.compiler.source>1.8</maven.compiler.source>
  <!--你的java项目应该运行在什么样的jdk版本-->
  <maven.compiler.target>1.8</maven.compiler.target>
</properties>

0.8idea集成maven

        1.配置仓库地址

         2.配置环境

                -DarchetypeCatalog=internal:maven项目创建时,会联网下载模板文件比较大,加上这个就不用下载,创建maven项目速度比较快。

         3.创建项目

                (1)普通的java项目

                 (2)web项目

<!--servlet依赖-->
<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.1.0</version>
  <scope>provided</scope>
</dependency>
<!--jsp依赖-->
<dependency>
  <groupId>javax.servlet.jsp</groupId>
  <artifactId>jsp-api</artifactId>
  <version>2.1</version>
  <scope>provided</scope>
</dependency>

0.9依赖范围

使用<scope>表示,依赖的范围:compile、test、provided,默认采用compile。

1.0Maven常用设置

        1.全局变量

                <properties>用于定义全局变量,通过${property_name}的形式应用变量的值。

//定义全局变量
<properties>
  <spring.version>4.3.10RELEASE</spring.version>
</properties>

//引用全局变量
<version>${spring.version}</version>

         2.指定资源位置

<build>
  <resources>
    <resource>
      <!--所在的目录-->
      <directory>src/main/java</directory>
      <includes> <!--包括目录下的.properties、xml文件都会扫描到-->
        <include>**/*.properties</include>
        <include>**/*.xml</include>
      </includes>
      <!--filtering选项false不启用过滤器,*.property已经起到过滤的作用了-->
      <filtering>false</filtering>
    </resource>
  </resources>
</build>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值