Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
目前,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具。遗憾的是,Ant 的项目管理工具(作为 make的替代工具)不能满足绝大多数开发人员的需要。通过检查 Ant 构建文件,很难发现项目的相关性信息和其它元信息(如开发人员/拥有者、版本或站点主页)。
Maven 除了以程序构建能力为特色之外,还提供 Ant 所缺少的高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目,而使用 Ant 则需要十几行。事实上,由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目现在使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。
此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等
下载地址:http://maven.apache.org/download.cgi
如果嫌慢,笔者这里分享一下maven3.6.3的安装包,这是windows版本的,下面的配置也以windows为例,jdk要求在1.8以上。
链接:https://pan.baidu.com/s/120qo7KpGUBz1H5G4KrPuhw,
提取码:3j19
Java Development Kit(Java 开发工具包)的缩写。用于 java 程序的开发,提供给程序员使用。使用 Java 语言编程都需要在计算机上安装一个 JDK。JDK 的安装目录 5 个文件夹、一个 src 类库源码压缩包和一些说明文件
bin:各种命令工具, java 源码的编译器 javac、监控工具 jconsole、分析工具 jvisualvm 等
include:与 JVM 交互C语言用的头文件
lib:类库
jre:Java 运行环境
db:安装 Java DB 的路径
src.zip:Java 所有核心类库的源代码
jdk1.8 新加了 javafx-src.zip 文件,存放 JavaFX 脚本,JavaFX 是一种声明式、静态类型编程语言
下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
jdk配置
1.点击JDK安装包,进行安装
2.点击“下一步”,并记住安装位置,我的位置为E:\Eclipse\Java\jdk1.8.0_144
3.安装完成,点击关闭
4.在控制面板->系统和安全>系统中,点击左边的“高级系统设置”
5.点击下方的“环境变量”进行环境变量配置
6.在系统变量中点击新建,变量名JAVA_HOME,变量值为刚刚安装JDK的系统路径
7.在系统变量中寻找“Path”,点击后新建,在最前面输入“%JAVA_HOME%/bin;”,并点击确定
8.右键点击开始键,点击运行,键入cmd,点击确定
9.输入java,javac,java -version ,若显示版本信息 则说明安装和配置成功
javac命令
java -version
配置maven环境:我的电脑->属性->高级系统设置->新建环境变量:MAVEN_HOME , 变量值为刚解压的maven路径,我的是E:\maven-3.6.3。再在Path变量中加上:%MAVEN_HOME%\bin;
下面是Path环境变量
打开·cmd窗口,windows快捷键是 win+r 然后输入cmd,输入mvn -v,注意mvn与-v之间有空格
如果显示这个窗口就说明成功了
笔者的eclipse已经内置了M2Eclipse插件,但eclipse早年的版本要安装M2Eclipse插件,其安装可参考https://www.cnblogs.com/li3807/p/6416250.html。
打开eclipse,打开Window->Preferences->Maven->installations
然后点击Add
这里的installation home是你maven下载的地址,然后finish
选中 Preferences 中 Maven 里面的 User Settings
在 Global Settings 框中选择 settings.xml文件,在你下载maven的根目录下conf文件夹下,默认的本地仓库是C:\Users\lenovo.m2\repository,这个笔者会在后面说到,先不用管。
1 . 私服简介
私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件。有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。
无私服的情况
有私服的情况
我们可以使用专门的 Maven 仓库管理软件来搭建私服,比如:Apache Archiva,Artifactory,Sonatype Nexus。之前我们接触比较多的是Sonatyp Nexus,今天主要介绍Apache Archiva的使用。
apache-archiva下载地址:http://archiva.apache.org/download.cgi
如果嫌慢可使用笔者下载的,这是windows版本的apache-archiva-2.2.4。
链接:https://pan.baidu.com/s/1zL5UIkbeUdalmrLfIf5Mpg
提取码:a53z
下载并解压,以管理员身份启动cmd,不然会因没有权限而报错。进入 archiva 安装路径bin 目录,运行archiva_home\bin下的archiva.bat install ,安装服务.archiva.bat start / stop为启动或停止。
笔者目录为E:\apache-archiva-2.2.4。
这里笔者的apache-archiva已存在,所以会出现已存在,只有读者的apache-archiva成功启动就可以了。
在浏览器中输入 http://localhost:8080,打开页面.
首先要新建一个新用户,这里就不细说,不过你要记住账号密码
选择左边的Repositories,下面两个都是默认有的
先在自己电脑新建一个文件,为仓库所在位置,
笔者的位置为E:\apache-archiva-2.2.4\repo。修改现有的id为internal仓库,把Directory改为你的仓库所在位置。
还有一个远程仓库,默认为https://repo.maven.apache.org/maven2
,当然还可以添加别的,如阿里云的,这里就不细说了,感兴趣的读者可自行到网上去搜索。
然后我们在maven的根目录下的conf文件修改setttings.xml文件,在settings标签下添加一行:localRepository里是你仓库的位置,笔者为E:\apache-archiva-2.2.4\repo
好了,本地仓库就配置好了,再次启动eclipse。
打开Window->Preferences->Maven->User settings
我们可以看到红色下划线就是你在settings.xml文件的仓库位置
打开File->New->Maven Project,选择项目目录
选择webapp项目
Artifact Id是项目的名称
下面是项目目录
建立了web项目,index.jsp页面可能会报错,那是因为缺javax.servlet-api和javax.servlet.jsp-api的jar,在pom.xml文件添加
依赖即可,pom.xml文件本身有junit的依赖,读者可参考笔者的pom.xml文件配置
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.haichuang</groupId>
<artifactId>01-maven-demo</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>01-maven-demo Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<!-- 代入依赖junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- 代入依赖servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!-- 代入依赖jsp-api -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>01-maven-demo</finalName>
</build>
</project>
右击pom.xml选择Run as,选择Maven build,然后输入compile进行编译
下面是编译结果,如果没有上述的两个jar,maven会到远程仓库自动下载,笔者这里有,所以没有显示下载信息
笔者花了近3个小时写的文章,喜欢的点个赞噢