Maven简介
- Maven实际上也属于一个版本控制工具,但是这个控制不不是针对代码控制,而是针对于一些第三方的开发包配置
- Maven可以更好地管理java开发包,同时Maven也具备于Ant工具的作用,可以针对于项目进行构建.
- 通过一个简短的演示来观察一下Maven到底在哪里使用
- 使用Eclipse创建一个mevan项目
- 选择 [new]–>[other]–>搜索maven,选择maven Project,点击next
- 选择next之后,选择创建的骨架,这里选择 maven–archetype–webapp
- 随后要填写项目信息
- 点击finish完成创建
- 如果项目使用了maven的支持,那么会自动出现给pom.xml文件,这个文件属于项目的对象模型相当于你项目里面(只是某一个组件的项目)
- 对于Maven而言,由于于网络的关系非常紧密,Maven会通过网络下载一些配置信息,随后为项目配置几个开发包,修改pom.xml文件.
- 如果要想找到这些信息可以通过仓库王朝:www.mvnrepository.com下载
- 为项目配置junit开发包
- 搜索junit,选择一个版本点击名称进入
- 而后选择maven的引用地址
- 复制引用地址,配置到项目的pom.xml文件中
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
- 引用地址复制到 dependencies 标签之间,当你保存之后,eclipse会自动帮你下载所需要的jar包
- 配置jackson开发包
- -同样搜索jackson,而后复制maven引用地址到项目的pom.xml文件中去
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
- 配置完成之后只要保存开发包引用
windows下配置maven
- maven严格来讲不仅仅针对于开发包管理,他还属于一个构建工具,可以帮用户进行项目的编译操作
- maven下载地址:https://maven.apache.org/download.cgi
- 将下载下来的压缩包进行解压缩处理
- 将maven的开发路径设置到PATH之中,这样就可以随处使用maven命令开发了
- 定义一个 MAVEN_HOME 路径 该路径为 maven的安装根路径
- 而后在PATH中添加 “%MAVEN_HOME%\bin”
maven是离不开JAVA_HOME的变量属性,所以在使用maven前,要确保配置好java的环境变量
- 如果要想验证当前是否配置成功,可以打开cmd输入以下命令
mvn -v
- 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
- 在项目的根目录下:"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
- 这个时候会进行一些开发包的下载,由于已经配置了国内仓库,所以下载速度比较快
- 当程序编译完成之后会自动出现*.class文件,并且会自动保存在所在的目录之中:
- 如果这个程序项目需要被其他人所使用,那么就需要生成jar文件,需要为代码打包
mvn package
- 生成的jar文件
- 如果要执行可以直接运行jar文件:
java -cp target/生成的jar文件名称 要执行的类名称
在linux下配置maven
- 将maven的linux版开发包利用xftp软件上传到linux服务器中
- 进入到srv/ftp目录,将maven压缩包解压到/usr/local目录下
tar xzvf 压缩包名称 /usr/local
- 得到该文件夹
- 为方便配置,将解压后的文件更名为 maven
mv 文件名称 maven
- 需要修改环境属性,增加maven路径信息
vim /etc/profile
- 追加如下内容,输入 i 进入编辑模式,输入完成之后按 esc 键退出编辑模式 输入 :wq 保存并推出
export M2_HOME=/usr/local/maven
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
- 保存退出之后,让配置立即生效
source /etc/profile
- 使用 mvn -v 命令测试配置是否成功
mvn -v
- 修改maven默认仓库,将默认仓库修改为国内仓库
vim maven\conf\settings.xml
- 将国内仓库配置到项目之中
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
- 建立一个/usr/local/javawork目录
mkdir /usr/local/javawork
- 创建javawork的子目录
mkdir -p src/main/java/mao/shu
- 在shu/目录下创建Hello.java文件
vim Hello.java
- 将pom.xml文件拷贝到javawork目录下
- 在javawork目录下进行程序的打包编译
mvn package
- 打包后成功之后,得到target包
- 得到的jar文件名称由pom.xml文件中定义生成的,测试运行jar中的 mao.shu.Hello类,如果能够执行成功,表示打包编译正常,如果出现错误,考虑是否是下载的jar包不完整,可以切换仓库地址,重新打包编译
java -cp MevanProject-1.0-SNAPSHOT.jar mao.shu.Hello