Maven简介

  • Maven实际上也属于一个版本控制工具,但是这个控制不不是针对代码控制,而是针对于一些第三方的开发包配置
  • Maven可以更好地管理java开发包,同时Maven也具备于Ant工具的作用,可以针对于项目进行构建.
  • 通过一个简短的演示来观察一下Maven到底在哪里使用
  • 使用Eclipse创建一个mevan项目
  • 选择 [new]–>[other]–>搜索maven,选择maven Project,点击next

构建工具 Maven或Gradle_构建工具 Maven或Gradle

  • 选择next之后,选择创建的骨架,这里选择 maven–archetype–webapp

构建工具 Maven或Gradle_xml文件_02

  • 随后要填写项目信息

构建工具 Maven或Gradle_构建工具 Maven或Gradle_03

  • 点击finish完成创建
  • 如果项目使用了maven的支持,那么会自动出现给pom.xml文件,这个文件属于项目的对象模型相当于你项目里面(只是某一个组件的项目)

构建工具 Maven或Gradle_构建工具 Maven或Gradle_04

  • 对于Maven而言,由于于网络的关系非常紧密,Maven会通过网络下载一些配置信息,随后为项目配置几个开发包,修改pom.xml文件.
  • 如果要想找到这些信息可以通过仓库王朝:www.mvnrepository.com下载

构建工具 Maven或Gradle_xml文件_05

  • 为项目配置junit开发包
  • 搜索junit,选择一个版本点击名称进入

构建工具 Maven或Gradle_xml文件_06

  • 而后选择maven的引用地址

构建工具 Maven或Gradle_java_07

  • 复制引用地址,配置到项目的pom.xml文件中
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>
  • 引用地址复制到 dependencies 标签之间,当你保存之后,eclipse会自动帮你下载所需要的jar包

构建工具 Maven或Gradle_java_08

  • 配置jackson开发包
  • -同样搜索jackson,而后复制maven引用地址到项目的pom.xml文件中去
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>
  • 配置完成之后只要保存开发包引用

windows下配置maven

构建工具 Maven或Gradle_构建工具 Maven或Gradle_09

  • 将下载下来的压缩包进行解压缩处理
  • 将maven的开发路径设置到PATH之中,这样就可以随处使用maven命令开发了
  • 定义一个 MAVEN_HOME 路径 该路径为 maven的安装根路径
  • 而后在PATH中添加 “%MAVEN_HOME%\bin”

构建工具 Maven或Gradle_构建工具 Maven或Gradle_10

构建工具 Maven或Gradle_maven_11

maven是离不开JAVA_HOME的变量属性,所以在使用maven前,要确保配置好java的环境变量

  • 如果要想验证当前是否配置成功,可以打开cmd输入以下命令
mvn -v

构建工具 Maven或Gradle_maven_12

  • maven本身属于一个基于网络下载的构建工具,那么如果所有的开发包都通过网络下载,会被防火墙限制速度,所以很多时候都会在Maven里面配置一些国内的仓库
  • 编辑"MAVEN_HOME/conf/settings"文件
  • 本次使用阿里云的镜像仓库,将以下的代码复制到 settings.xml文件中的<mirrors>分支中
<mirror>
      <id>alimaven</id>
      <mirrorOf>central</mirrorOf>
     <name>aliyun maven</name>
     <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
  </mirror>
  • 为测试代码,编写一个具体的文件:
  • 在E盘中建立一个工作区 javawork
  • 需要建立一个src\main\java\mao\shu后面两个路径mo\shu\随意取
  • 在src\main\java\mao\shu\ 目录下建立一个Hello.java文件
mkdir javawork

构建工具 Maven或Gradle_xml文件_13

  • 在项目的根目录下:"e:javawork"目录下建立一个pom.xml文件
<?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">
    <modelVersion>4.0.0</modelVersion>

    <groupId>MevanProject</groupId>
    <artifactId>MevanProject</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies> 
    </dependencies>
</project>
  • 对于以上的配置有如下几个重要信息
  • modelVersion : PON模块版本的信息
  • groupId:指的是项目所属的域名
  • artifactId:项目名称
  • version:项目的版本号
  • packaging:项目打包形式,一般是jar或者是war
  • 为项目打包编译(在pom.xml文件所在的目录下编译)
mvn compile

构建工具 Maven或Gradle_java_14

  • 这个时候会进行一些开发包的下载,由于已经配置了国内仓库,所以下载速度比较快
  • 当程序编译完成之后会自动出现*.class文件,并且会自动保存在所在的目录之中:

构建工具 Maven或Gradle_java_15

  • 如果这个程序项目需要被其他人所使用,那么就需要生成jar文件,需要为代码打包
mvn package

构建工具 Maven或Gradle_构建工具 Maven或Gradle_16

  • 生成的jar文件
  • 如果要执行可以直接运行jar文件:
java -cp target/生成的jar文件名称 要执行的类名称

构建工具 Maven或Gradle_java_17

在linux下配置maven

  • 将maven的linux版开发包利用xftp软件上传到linux服务器中

构建工具 Maven或Gradle_maven_18

  • 进入到srv/ftp目录,将maven压缩包解压到/usr/local目录下
tar xzvf 压缩包名称 /usr/local
  • 得到该文件夹

构建工具 Maven或Gradle_构建工具 Maven或Gradle_19

  • 为方便配置,将解压后的文件更名为 maven
mv 文件名称 maven

构建工具 Maven或Gradle_java_20

  • 需要修改环境属性,增加maven路径信息
vim /etc/profile
  • 追加如下内容,输入 i 进入编辑模式,输入完成之后按 esc 键退出编辑模式 输入 :wq 保存并推出
export M2_HOME=/usr/local/maven
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin

构建工具 Maven或Gradle_xml文件_21

  • 保存退出之后,让配置立即生效
source /etc/profile
  • 使用 mvn -v 命令测试配置是否成功
mvn -v

构建工具 Maven或Gradle_java_22

  • 修改maven默认仓库,将默认仓库修改为国内仓库
vim maven\conf\settings.xml

构建工具 Maven或Gradle_构建工具 Maven或Gradle_23

  • 将国内仓库配置到项目之中
<mirror>
      <id>alimaven</id>
      <mirrorOf>central</mirrorOf>
     <name>aliyun maven</name>
     <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
  </mirror>

构建工具 Maven或Gradle_构建工具 Maven或Gradle_24

  • 建立一个/usr/local/javawork目录
mkdir /usr/local/javawork
  • 创建javawork的子目录
mkdir -p src/main/java/mao/shu

构建工具 Maven或Gradle_xml文件_25

  • 在shu/目录下创建Hello.java文件
vim Hello.java
  • 将pom.xml文件拷贝到javawork目录下

构建工具 Maven或Gradle_xml文件_26

  • 在javawork目录下进行程序的打包编译
mvn package

构建工具 Maven或Gradle_maven_27

  • 打包后成功之后,得到target包

构建工具 Maven或Gradle_java_28

  • 得到的jar文件名称由pom.xml文件中定义生成的,测试运行jar中的 mao.shu.Hello类,如果能够执行成功,表示打包编译正常,如果出现错误,考虑是否是下载的jar包不完整,可以切换仓库地址,重新打包编译
java -cp MevanProject-1.0-SNAPSHOT.jar mao.shu.Hello

构建工具 Maven或Gradle_maven_29