day47

    xiaoxiao2021-04-19  89

    1 什么是maven

    Maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理。

    如图为项目构建的过程。

    解决的项目的问题:

    1、如果有好几个项目,这好几个项目中,需要用到很多相同的jar包, 能不能只建立一个仓库来解决这个问题? 2、测试方法能不能全部运行呢? 3、怎么样把一个模块的功能放入到仓库中

    2 Maven的安装与配置

    2.1Maven的安装

    2.1.1Jdk的情况 Jdk必须1.6以上的版本

    2.1.2从官网下载maven 从http://maven.apache.org/官网上下载最新版本的maven

    2.1.3设定path路径 把下载下来的maven解压缩,然后有一个bin文件夹,这是一个bin的文件夹的目录

    F:\work\course\maven\maven\bin

    把该目录追加到环境变量的path中。

    2.1.4利用命令行检查是否成功 有这个图,说明maven安装成功了。

    2.2建库 2.2.1先打开路径

    C:\Users\Think\.m2

    2.2.2把settings.xml文件复制到上述的路径中

    F:\work\course\maven\apache-maven-3.0.5-bin\apache-maven-3.0.5\conf

    有一个settings.xml文件,复制到C:\Users\Think\.m2

    2.2.3修改settings.xml文件

    <localRepository>F:/work/course/maven/mavenRepository/</localRepository>

    指定仓库的路径 在这里mavenRepository就是仓库的路径

    2.3Maven的配置 说明: bin中存放可执行的二进制文件 conf存放settings.xml文件 lib 运行maven所依赖的jar包

    2.4maven的约定

    src/main/java -- 存放项目的java文件 src/main/resources -- 存放项目的资源文件,如spring,hibernate的配置文件 src/test/java -- 存放所有的测试的java文件 src/test/resources -- 存放测试用的资源文件 target -- 项目输出位置 pom.xml -- 文件

    3 maven项目

    3.1 hello项目

    3.1.1 在myeclipse建立一个项目Hello

    3.1.2 创建一个包cn.itcast.maven,并在该包下创建一个类

    3.1.3 编写Hello类

    3.1.4 在src/test/java中创建一个包cn.itcast.maven,创建一个测试类HelloTest

    3.1.5 编写测试类

    3.1.6 编辑pom.xml文件

    说明: project:表示一个工程 modelVersion:为版本号

    3.1.7 用maven命令编译项目(mvn compile) 在命令行出现这样的形式,说明编译OK了。

    3.1.8 target文件夹的变化 可以看到编译后的文件全部放入到了target里。

    3.1.9 clean 执行命令mvn clean

    说明执行成功了。

    可以看到target的目录没有了。

    3.1.10 test 执行mvn test命令

    说明执行成功了,并且运行了一个类,再次看target的结构

    说明: target/classes 存放编译后的类 target/test-classes 存放编译后的测试类 target/surefire-reports 存放测试报告 可以看出,只要进行测试,清理和编译可以自动执行了。

    3.1.11 package 执行mvn package

    这个界面说明打包成功了。

    说明: target/classes 编译后的类的路径 target/test-classes 编译后的测试类的路径 target/surefire-reports 测试报告 target/maven-archiver 执行package的归档 Hello-0.0.1-SNAPSHOT.jar 执行完package命令后打成的jar包

    3.2 Hellofriend项目

    3.2.1 建立HelloFriend项目工程

    3.2.2 编写pom.xml文件

    3.2.3 执行mvn compile命令 执行这个命令的时候会出错,因为HelloFriend项目是建立在Hello项目基础之上的,但是现在工程中没有引入Hello.java这个类。所以会出错。

    3.2.4 执行mvn clean install命令 1、打开命令行 2、把当前路径调节到Hello工程的根目录 3、执行mvn clean install命令,把Hello整个工程放入到仓库中

    如果执行成功,则会在仓库中看到。 ![这里写图片描述](https://img-blog.csdn.net/20170414161638433?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ1NETl9BRg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 在仓库中的位置。

    3.2.5 执行mvn package命令打包HelloFriend工程 说明成功了。

    可以看到成功以后,在target目录下多了一个jar包 该jar包为当前工程的jar包。

    3.2.6 建立cn.itcast.maven包及HelloFriend类

    3.2.7 编辑HelloFriend类

    3.2.8 建立cn.itcast.maven包和测试类HelloFriendTest类

    3.2.9 编辑HelloFriendTest类

    3.2.10 执行mvn package命令

    上图中的”say hello”就是输出的结果。

    4maven的核心概念

    4.1项目对象模型 说明: maven根据pom.xml文件,把它转化成项目对象模型(POM),这个时候要解析依赖关系,然后去相对应的maven库中查找到依赖的jar包。 在clean,compile,test,package等阶段都有相应的Plug-in来做这些事情。 而这些plug-in会产生一些中间产物。

    4.2插件的位置 在maven解压后的位置F:\work\course\maven\maven有一个bin文件夹,里面有 一个文件m2.config文件 set maven.home default ${user.home}/m2,其中该路径指明了仓库的存储位置。

    其中settings.xml文件中

    这个说明了仓库中的位置。

    这里的插件就是执行maven的各种命令所需要的插件。

    4.3maven坐标

    4.3.1 maven坐标的主要组成

    groupId:定义当前maven项目属于哪个项目 artifactId:定义实际项目中的某一个模块 version:定义当前项目的当前版本 packaging:定义当前项目的打包方式 根据这些坐标,在maven库中可以找到唯一的jar包

    4.4依赖管理

    4.5继承管理

    创建一个项目ParentJunit

    新建一个项目:

    编辑pom.xml文件

    说明:只需要继承ParentJunit,所以junit就被引入到HelloJunit中了

    4.6仓库管理 可以根据maven坐标定义每一个jar包在仓库中的存储位置。 大致为:groupId/artifactId/version/artifactId-version.packaging

    4.6.1仓库的分类

    本地仓库 ~/.m2/repository/ 每一个用户也可以拥有一个本地仓库 远程仓库 中央仓库:Maven默认的远程仓库 http://repo1.maven.org/maven2 私服: 是一种特殊的远程仓库,它是架设在局域网内的仓库 镜像: 用来替代中央仓库,速度一般比中央仓库快

    5 maven在myeclipse中的应用

    5.1环境配置

    如果所示,myeclipse自带maven,从上图看以看到Maven JDK是可以配置的,这里用了jdk1.6

    从上图可以看出,我们可以利用myeclipse自带的maven,也可以使用自己的maven。 上图应用的就是自己的maven。

    从最下面可以看出,这是settings.xml文件的路径。

    这幅图说明了用户的settings.xml文件的位置和用户的仓库的位置。

    5.2settings.xml文件

    5.2.1 仓库的路径 通过配置localRepository的值可以改变仓库的路径。

    5.2.2 配置私服的路径

    5.2.3 直接连接互联网 如果不想连接私服,可以直接连接互联网。只需要把连接私服的所有的路径去掉即可。

    5.3创建maven工程

    5.3.1 创建java project

    选择Maven Project

    选择快速创建maven-archetype-quickstart

    填写group ID,Artiface Id,Version,Package属性 然后点击finish就可以了。

    5.3.2 创建web project

    新创建一个web project

    添加maven support即可。

    转载请注明原文地址: https://ju.6miu.com/read-675752.html

    最新回复(0)