一、在eclipse中配置maven
其实有的eclipse中也自带maven,但因为它的版本固定的太死了,很可能其他人的项目到你的电脑中就跑不了了,所以能自定义我们的maven会更好。
首先进入Perferences,找到maven-->Installations,然后add我们自己下载的maven
add后记得打上勾。
当本地仓库jar包好多的时候,为了提高检索的速度,我们还要构建索引。
我们进入Perferences---->show view--->other,找到maven
可以看到有本地仓库第一次打开里面啥也没有,我们要进行一些设置。我们在本地仓库上右击rebuild Index
刷新之后我们就能看到本地仓库的jar包已经导进来了
二、eclipse创建一个maven类型的web项目
点击new一个maven project,记得把下面这玩意勾上
然后要填写一些信息
选择jar就是普通的java项目,选择war就是web 项目,这里我们选择war
之后点击finish就可以完成,但我们会发现完成后会报错
它的意思就是说我们缺少一个web.xml,我们在src目录下的main目录下面的webapp目录下新建一个WEB-INF,然后找个web.xml弄进去,错误就会消失。
之后你又会发现库的版本不对
靠,这还不会,不就是build path嘛,build一下的确行,然后如果你update project会发现特么的又变回去了,所以最好的办法就是去改一下pom.xml
org.apache.maven.plugins
maven-compiler-plugin
1.8
UTF-8
改完之后,再update project也不怕了。
三、maven整合servlet
接着我们在上面的项目中新建一个servlet看看,记得是在java resources的src/main/java这个目录下,新建servlet之后,你会发现又给报错了,找不到相应的jar包。
这时我们得添加依赖,在pom.xml页面,右键点击maven-->Add Dependency,输入servlet,就能看到本地仓库中的jar包,选择即可
那肯定有小伙伴要说了,如果我本地仓库没有相应的jar包怎么办?
这时我们可以去maven的中央仓库找啊http://mvnrepository.com/,进去之后,我们搜索一个比如servlet,选择版本之后,就会有一个maven的依赖,如下图
我们把这些代码复制到我们项目的pom.xml中,它就会去本地仓库找,如果没有找到,就会去中央仓库下载,因为我们之前配置了阿里云的镜像,所以它会去阿里云下载,速度杠杠的。
四、Maven依赖范围
像上面导入了servlet的jar包之后,其实还有一个问题,那就是maven依赖范围的问题。每个jar导入时默认的scope是compile,关于maven的依赖范围,如下图
如果servlet的jar包不改变它的scope,那么默认为compile,在运行时也会存在,就会和tomcat中的servlet api发生冲突,从而引起报错,关键还特么不好找。所以记住要把servlet包括jsp的jar包范围改成provided。
五、运行该web项目
我们在该项目名称上右击
选择maven build....,输入下图的命令,点击run即可。
一些常用命令如下