天天看点

史上最全maven教程

Maven 介绍

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

Maven是意第绪语,依地语(犹太人使用的国际语),表示专家的意思。

所以用Maven管理Java 项目,你就是专家了 -_-!

使用Maven管理的Java 项目都有着相同的项目结构

有一个pom.xml 用于维护当前项目都用了哪些jar包

所有的java代码都放在 src/main/java 下面

所有的测试代码都放在src/test/java 下面

史上最全maven教程

比如说有3个Java 项目,这些项目都不是maven风格。那么这3个项目,就会各自维护一套jar包。 而其中有些jar包是相同的。

而maven风格的项目,首先把所有的jar包都放在"仓库“ 里,然后哪个项目需要用到这个jar包,只需要给出jar包的名称和版本号就行了。 这样jar包就实现了共享

如图所示,在pom.xml里,表示用到了mysql 的jar包,版本号是5.1.30。

那么仓库在哪里? 怎么建设呢? 在后续教程会讲到: 仓库

史上最全maven教程

Maven 下载与配置

下载区(点击进入)可以下载 apache-maven-3.5.0-bin.zip, 版本是3.5.0,当前是(2017.7.21)最新版本

官方最新版下载地址:http://maven.apache.org/download.cgi

右键我的电脑-属性-高级系统设置-环境变量-系统变量-Path

史上最全maven教程

使用win+r, 然后输入cmd 打开命令行,输入如下命令

mvn -v

倘若出现如图所示的截图,即表示配置成功了

史上最全maven教程

Maven 仓库

所谓的仓库就是用于存放项目需要的jar包的。

maven采用一个仓库,多个项目的方式,让多个项目共享一个仓库里的相同jar包。

打开

D:\software\apache-maven-3.5.0\conf\settings.xml

可以看到,在52行指定了仓库的位置是${user.home}/.m2/repository。

对应我的机器就是

C:\Users\X7TI.m2\repository

。。。略

maven 会默认从maven官方提供的服务器下载jar包。

而官方服务器在国外,因为大家都知道的原因,网速很慢,而且容易卡断。 为了便于快速下载相关jar包,可以使用国内maven 阿里云的下载地址:使用阿里云下载路径

修改在mirrors下新加一个阿里云的镜像地址:

也可以直接复制粘贴即可,修改位置是160-165行

步骤 5 : 修改仓库位置

仓库默认位置 是 C:\Users\X7TI.m2\repository,放在C盘有一点不好,重装系统就都没有了。所以通常我会把仓库的位置修改为:

d:/maven/repository

配置文件的第55行,复制粘贴即可。

在下载区(点击进入)有我目前使用的maven仓库,虽不能说齐全,但是相当一部分常用的已经有了。 可以直接下载并解压在

这样就不需要自己下载了。

史上最全maven教程

Maven 创建Maven项目

Maven作为一种工具,可以创建标准化的Maven风格Java项目。 但是在实际工作中,很少有机会直接通过Maven 命令行来做到这一点。 通常都是在Eclipse或者IDEA中,通过集成Maven的方式来创建Java 项目。

本知识点会演示这种做法,目的是为了方便理解在IDE中对Maven的运用

按下win+r,然后输入cmd,接着输入

cd e:\project

史上最全maven教程

首先确保e:\project目录下没有j2se文件夹,否则会报错

然后执行命令:

archetype:generate 表示创建个项目

-DgroupId 项目包名: com.how2java

-DartifactId 项目名称: j2se

-DarchetypeArtifactId 项目类型: maven-archetype-quickstart

-DinteractiveMode:false 表示前面参数都给了,就不用一个一个地输入了

运行成功会看到绿色的BUILD SUCCESS

史上最全maven教程

如图所示,会创建一个标准结构的maven 项目,不仅如此还送了一个App.java。里面输出了一个Hello World!

史上最全maven教程

然后运行package命令

mvn package

注: 运行这个命令之前要先把当前路径切换到 j2se来

cd j2se

最后会看到一个绿色的BUILD SUCCESS

package做了很多事情,编译,测试,打包,最后生成了一个j2se-1.0-SNAPSHOT.jar包,里面放了APP这个类

史上最全maven教程
史上最全maven教程

Maven Eclipse 设置

Eclipse EE版本是已经集成好MAVEN的了,无需额外手动集成。

没有的同学可以在这里下载:下载 Eclipse

菜单->Window->Preferences->Maven->Installations-> 指定 d:\software\apache-maven-3.5.0

注: 把原来的那个低版本maven删除掉,如果有的话

史上最全maven教程

菜单->Window->Preferences->Maven->User Settings->

Global Settings 和 User Settings都使用:

点击一下Reindex,确保 local Repository为:

史上最全maven教程

Maven Eclipse Maven 项目

按照前面的学习流程,已经存在一个j2se目录,为避免干扰因素,先把这个目录删除掉

菜单->File->New->Other->Maven->Maven Project

史上最全maven教程
史上最全maven教程

这里选择默认的maven-archetype-quickstart, 和命令行创建maven项目中的项目类型一致的

史上最全maven教程

Group Id: 填写包名

Artifact Id: 填写j2se

然后点击Finish

史上最全maven教程
史上最全maven教程

Maven 添加包

当一个Maven项目需要用到第三方jar的时候,就需要添加对应的jar包。

本例演示如何添加一个jdbc的jar包

修改App.class,故意写一段需要依赖jar包才可以成功执行的代码: 初始化mysql驱动

史上最全maven教程

双击pom.xml,出现pom专有的编辑页面。

点击OverView右边的Dependencies可以看到里面有一个默认存在的junit

然后点击Add,弹出选择窗口

在中间 Enter GroupId, artifactId or sha1 prefix or pattern(*)… 这个地方输入mysql,下面就会出来被搜索到的mysql-connector-java

选中它,并点击ok

注: Scope要选择compile,表示编译期间要用到。

注: 如果输入了mysql下面没有自动显示搜索结果怎么办?点击 重建本地仓库

史上最全maven教程

点击保存,一定要记得保存,保存才能使得pom.xml中的jar包依赖起作用,接着再运行APP

史上最全maven教程

倘若在给maven项目添加jar中无法搜索到mysql jar包,那么可以按照如下行为操作一遍

菜单->Window->Show View->Other->Maven->Maven Repositories->Local Repository->Rebuild Index

史上最全maven教程

Maven 创建Web项目

与创建Maven项目类似的,还可以创建web 项目

同样的,这种事情,几乎不会用命令行来做,都是用IDE来做的,比如Eclipse Web 项目

所以本知识点也就演示一下,实际工作一般不这么干

首先切换目录

切换盘符

执行命令(确保e:\project下没有j2ee目录)

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=com.how2java -DartifactId=j2ee -DinteractiveMode=false

这个命令和创建maven java项目中的命令一样,不过类型是从

maven-archetype-quickstart 改成了 maven-archetype-webapp

项目名称从 j2se改成了j2ee而已

史上最全maven教程

与maven创建的java项目结构类似,不过没有java目录,需要自己手动创建。 所以命令行方式的maven web项目很少用到

史上最全maven教程

Maven Eclipse Web 项目

删除创建Web项目步骤创建的j2ee目录

史上最全maven教程
史上最全maven教程

默认选中的是maven-archetype-quickstart, 请修改为: maven-archetype-webapp

史上最全maven教程
史上最全maven教程

此时能得到的maven web 项目,不过有两个问题

没有java源代码目录

index.jsp报错

史上最全maven教程

在上一步的截图中可以发现,没有地方存放java源文件,这个时候就需要按照如下步骤做:

右键项目->属性->Java Build Path->Libraries->Edit->Workspace default

JRE(jdk8)->Finish

史上最全maven教程

如图所示,java源文件目录创建好了

史上最全maven教程

这个时候,还存在index.jsp会 报错的问题。 这个问题的解决办法是添加servlet.jar包。

做法参考:给maven项目添加jar

史上最全maven教程
史上最全maven教程

maven web-app 项目就像动态web项目那样,是支持通过eclipse 内置tomcat启动的

右键点击项目j2ee,点击Run As -> Run on Server ,成功之后就会看到如图所示的Hello World!

如果对于Eclipse内置Tomcat配置方式不熟悉,请参考教程:通过Eclipse启动Tomcat-Run On Server

史上最全maven教程
史上最全maven教程

Maven 创建 SSM 项目

本知识点在SSM 的PageHelper的基础上进行,所以要先到SSM 的PageHelper去下载可运行的项目,并解压。

注: 不要下载到当前知识点的可运行项目了哦,当前的是已经完成了目前的步骤流程后完成的项目

File->New->Other->Maven->Maven Project

史上最全maven教程

默认即可

史上最全maven教程

选择 maven-archetype-webapp

史上最全maven教程

设置GroupId和Artifact Id,分别是com.how2java和ssm。

后续配置也是用的这个,所以照着做,别自作聪明改其他的,不然后面走不通

史上最全maven教程

此时项目就创建好了,不过还会报错,接着做后续的一系列操作

史上最全maven教程
史上最全maven教程
史上最全maven教程

接着复制粘贴pom.xml为下面的代码。 粘贴之后,jsp本来的报错就消失了,不过出来一个新的问题,要求通过Maven更新项目。

右键项目->Maven->Update Project,会弹出一个对话框,点击Ok,这个问题就消失了。

史上最全maven教程

首先从在基于前面的知识点里下载的项目里解压出来,然后按照如下顺序复制粘贴。 不要一股脑全粘贴进去,会出现无法解决的错误哦

首先覆盖web.xml

把下载下来的xxx/ssm/WebContent/WEB-INF/web.xml

复制到当前的 ssm/src/main/webapp/web.xml这里

史上最全maven教程

接着复制jsp目录。

千万不要复制lib目录

史上最全maven教程

把三个配置文件复制到 ssm/src/main/resources下面

史上最全maven教程

把java源代码复制到src/main/java下

史上最全maven教程

按照maven ssm项目风格来说,这个文件本应该放在Resource目录的mapper文件夹下,但是这么做还要修改配置信息,为了避免问题复杂化,而且考虑到即使放在当前位置也是可以正常工作的,所以就暂时不修改它的位置了。

史上最全maven教程

右键点击项目,点击Run As -> Run on Server 启动Tomcat

访问如下测试地址:

http://localhost:8080/ssm/listCategory

史上最全maven教程

步骤 18 : 可运行项目

在下载区(点击进入)有本知识点对应的可运行项目下载 ,实在自己搞不出来,就下载解压出来比较一下。

注:不要和基于前面的知识点里的下载搞混了哦

继续阅读