我遇到的Maven安装和创建Maven项目过程中的问题
安装:
首先确认你的Java环境安装正常
然后从http://maven.apache.org/download.cgi下载Maven(bin.zip文件)
解压
配置环境变量
在Path中添加C:\DevelopTools\maven\apache-maven-3.5.4\bin,记得要用 ; 和前面的环境变量分开,\bin 换成用自己的解压目录
网上有说先建立一个M2_HOME 变量来指明解压路径 ,然后在path中加上 %M2_HOME%\bin 但是这种方法我试了 不行 最后还是在path直接指明路径
然后在控制台打入 mvn -v 能有版本信息出来,说明安装成功
然后在eclispe中确认你有maven的插件
首先配置一下eclispe里的maven设置
Window→Preferences→Maven
选择Installations→Add
选择你刚才maven的解压目录
由于我已经配置过了,这里有个冲突,正常接下来点Finish就可以了,然后再勾选上
接下来再跳到User setting 选项
其中
Global Settings(全局配置):使用这台电脑的所有用户都用此配置
User Settings(用户个人配置):当前用户的配置
先将一下maven里的仓库概念:
我们知道maven可以通过maven项目中的pom.xml文件来导入相应的jar包,那这些jar包是在哪里呢?没错,就是仓库里。
maven的仓库分为三个:本地仓库,第三方仓库,中央仓库;
本地仓库:
maven会将我们项目中所用的jar从远程下载到本地的一个文件夹中,具体位置可以查看conf文件夹中的settings.xml文件
默认位置是 ${user.home}/.m2/repository
一般需要修改这个本地仓库的位置,在下面加上
<localRepository>C:\DevelopTools\maven\repository</localRepository>
中间的路径是你需要放置仓库的位置
然后在对应的位置,创建一个repository文件夹
再将刚才改好的settings.xml文件复制粘贴到repository文件夹里面
第三方仓库:又称私服,内部中心仓库,默认不适用,需要单独配置才可以进行使用,使用私服,不仅可以作为公司协作构件和存档,也可以作为公用类库缓存,减少了在外部访问和下载的频率;
用于公司内部,比如说A项目需要X.jar,B项目也需要X.jar,使用私服可以保证所有人使用的版本一样。
中央仓库:maven内置的远程公用仓库 http://repo1.maven.org/maven2/
由maven自己维护,里面有绝大多数jar包,以java为主
maven导入jar包时首先从本地仓库导入,如果本地仓库没有,则会从中央仓库导入。
私服可以使用局域网,中央仓库必须使用外网
总结一下:
导入jar包时首先从本地仓库中查找,
如果本地仓库没有但是配置了私服,从私服中查找,并下载到本地;如果本地仓库没有且没有配置私服,
从中央仓库查找(必须连接外网)本下载到本地,下次使用直接从本地使用。
继续刚才的User Settings
在Global Settings和User Settings项中都添加本地仓库位置
并且保证下面出现本地仓库路径
然后点OK
接下来创建maven项目
next
这里的骨架选择,如果不跳过会有一些问题,先跳过,next
groupID----包名;artifactID----项目名;version----版本;packaging-----创建maven项目的类型(jar---java项目;pom----maven项目;war-----javaweb项目)
我选择war以便下面说明一些问题
会发现创建好的maven项目有问题
这个问题是由于web.xml文件缺失所造成的
右键项目,选择Java EE Tools
然后在webapp目录下新建一个index.jsp文件,发现有错误
这是因为servlet.jar和jsp.jar包缺失
右键项目→Maven→Add Dependency
首先加入jsp.jar包
第一步:输入servlet
第二步:选择版本
第三步:选择作用范围(这个可以看我的https://blog.****.net/VVVZCS/article/details/81625547)
第四步:完成
同理再加入servlet.jar包
错误解决
然后在服务器上运行一下
附:如果有在输入servlet之后,下面的搜索列表是空白的情况,window→preferences→maven,然后重启eclispe等待index更新完毕(可能很长)
---------------------------------------------------------------------------------------------------------------------------------------------------
上面是选择跳过骨架选择的javaweb项目,下面将一下不跳过骨架选择的javaweb项目,同理新建项目,但是这次不要勾选跳过骨架选择,然后next
你可能会有下面的问题
原因的话我从网上百度了下,说是内存不够
我也试过改变-Xms512m ,但是还是行不通
最后是通过将maven的骨架源码下载下来,再创建项目,具体步骤如下
1、访问http://repo1.maven.org/maven2/archetype-catalog.xml并将其保存下来
2、在eclispe中window→preferences→maven,然后添加骨架选择
选择文件并为骨架命名,点击OK
然后在创建项目时选择我们自己的骨架
在关键字一栏输入webapp
选择对应骨架,next
接下来就是输入包名,项目名,类型
下面和跳过骨架选择是一样的,就不再重复了