Maven的使用
只讲操作,不说原理。原理请自己多看多查资料。
maven是配合Java使用的,首先必须要有Java的开发环境。
- 下载安装JDK
- 配置JDK
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
进入网址后如下:
点那个红色的框进入下载列表页面,如下:
先点击1处,同意许可协议,然后点击2处里面的链接,根据自己电脑的系统和位数选择,我用的是Windows64位的系统,所以选了最后一个。
- 安装JDK
如安装jdk-8u73-windows-x64.exe到D:\Java\jdk1.8.0_73,jre安装到D:\Java\jre1.8.0_73,上面的下载页面截图是后来才截的,所以看到的JDK版本与我安装的不一致。
安装完后目录结构如下:
然后添加环境变量JAVA_HOME,配置jdk的安装路径D:\Java\jdk1.8.0_73,如下:
再添加Path变量,配置%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;,如下:
我均是在用户变量中添加的,反正我也只会用这个账户登录系统做开发,而且单独添加path变量避免不小心修改了系统变量中的path导致错误,添加完后如下:
![](https://i-blog.csdnimg.cn/blog_migrate/95c21ba948bc98d268243a3a619d07c0.png)
现在看到的MAVEN_HOME变量是后续步骤添加的,现在不用管。
- 检查安装和配置是否正确
打开cmd 输入命令:java –version
看到如下信息就说明ok了:
![](https://i-blog.csdnimg.cn/blog_migrate/fafe5830a59c866caa4343ad083d7ddf.png)
不成功的话一般是配置问题。
- 安装maven
- 下载maven
下载地址:http://maven.apache.org/download.cgi
不知道这地址以后会不会变
进入网址后看到的如下:
![](https://i-blog.csdnimg.cn/blog_migrate/1b323959f89417895c3e1df9db175a14.png)
下载下来是个zip的压缩文件,直接解压就可以了,这个和eclipse一样是不用安装的,幸福吧!我解压到了这里:D:\JavaDeveloper\apache-maven-3.3.9,如下图:
- 配置maven环境变量
添加变量MAVEN_HOME,指向maven的解压路径:D:\JavaDeveloper\apache-maven-3.3.9
修改刚才添加的path变量,在其后添加“%MAVEN_HOME%\bin;”注意添加的路径与原路径间要用英文的分号;隔开,修改之后的path变量如下:
现在整个path变量的值为“%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%MAVEN_HOME%\bin;”
- 检查maven是否安装成功
cmd命令:mvn –v
看到如下信息说明好了:
- 修改maven的配置文件settings.xml
打开配置文件“"D:\JavaDeveloper\apache-maven-3.3.9\conf\settings.xml"”
添加本地仓库的存放地址:<localRepository>D:\JavaDeveloper\MavenRepository</localRepository>
知道有些人不截图比对不放心,添加后如下图:
由于maven默认指向的是国外的仓库地址,所以你懂得。我也是经过了惨痛的经历才明白的,该死的GFW。
在<mirrors>节点中添加oschina提供的镜像地址,该地址可在这儿查看http://maven.oschina.net/
添加如下:
<mirror>
<id>oschina</id>
<mirrorOf>central</mirrorOf>
<name>Nexus oschina</name>
<url>http://maven.oschina.net/content/groups/public/</url>
</mirror>
<mirror>
<id>oschina-thirdparty</id>
<mirrorOf>thirdparty</mirrorOf>
<name>Nexus oschina thirdparty</name>
<url>http://maven.oschina.net/content/repositories/thirdparty/</url>
</mirror>
截图上起来:
http://maven.oschina.net/content/groups/public/这地址不知道以后会不会失效,今天是2016-5-19。
<profiles>节点中添加:
<profile>
<id>osc</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>osc</id>
<url>http://maven.oschina.net/content/groups/public/</url>
</repository>
<repository>
<id>osc_thirdparty</id>
<url>http://maven.oschina.net/content/repositories/thirdparty/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>osc</id>
<url>http://maven.oschina.net/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
</profile>
上图:
然后再试一下好了没
Cmd命令:mvn help:system
会发现cmd窗口中刷刷刷的一大堆下载,再也不是原来的国外地址那样慢吞吞的卡呀卡的了,卡的真是让人抓狂,还特别是对于我这样的新人来说,一堆陌生的东西在我面前还报错,真是一件……哎,不说了,说多了都是泪啊,昨天一天都在研究这东西,虽然还是没有搞懂原理,但是起码今天能搭好环境进行开发了啊,这样起码有点成就感啊,大概程序员最怕的就是这样的事了吧。
最后执行完后的截图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/6ce6e7280aabbd3ee5bd78ca494d7938.png)
看到没:build success,终于成功了。
然后你会看到D:\JavaDeveloper目录下自动建立了一个文件夹:MavenRepository,并且里面有东西了,这就是刚才配置的本地仓库地址,下载的jar包之类的文件都在这里面。
然后再进行eclipse的配置,任重而道远啊……
- 配置Eclipse
打开Eclipse——》window》Preferences》Maven》User Settings将配置文件均指向D:\JavaDeveloper\apache-maven-3.3.9\conf\settings.xml
如图:
我也不知道具体怎么弄,哪些需要配置哪些不需要,反正这样搞我就可以用了。
哦,对了,我是用的Eclipse是:Eclipse Java EE IDE for Web Developers. Version: Mars.1 Release (4.5.1)
下载下来的是这么个文件:eclipse-jee-mars-1-win32-x86_64 .zip
这个Eclipse的下载安装就不用说了,一般是不会遇到什么怪问题的,也没有被GFW屏蔽,Eclipse的下载地址贴一下:http://www.eclipse.org/downloads/
一般下载第一个为了Java EE开发的IDE就可以了,且他是自带maven插件的,就不用自己在费心去安装maven的Eclipse插件了。
![](https://i-blog.csdnimg.cn/blog_migrate/47fe3c7e6d32987a63e0468872a0309e.png)
- 使用Eclipse
打开Eclipse,在左边的项目视图中什么都不要点,不要选中任何项目,直接新建Maven Project,会打开下图
照着勾选Create a simple project(skip archetype selection)
Use default Workspace location是默认选中的,不知道有什么用就不要管了,且这个下面的Location里面是空的,如果你在Project Explorer选了任何一个项目后才新建maven Project,那么这个location里面是会有东西的,所以一进来就直接新建maven Project ,不要有其他操作,否则请退出后重启Eclipse,我也不知道这个location会有什么影响,也不管了,反正照着做就对了,以后再慢慢研究吧,先把环境搭好再说,最重要的是先得到成就感。
Next,填写如下,group Id一般是域名的倒写,Artifact id就是项目名称。Version默认,Packaging默认为jar,改为war,因为我建的是javaweb项目
Finish,然后项目上右键》选择Properties》选择Project Facets->Convert to Faceted from..进入下图页面,选中Dynamic Web Module和Java,后面的版本我均选择的最高的,不知道会不会有问题。
如果之前点过Convert to Faceted from..则这一步不会看到这个,会直接进入下图页面
选中Dynamic Web Module时下面会有Further configuration available...进入后修改Content directory为/src/main/webapp/
如果有问题可以参考地址:http://www.zuidaima.com/blog/1618162161323008.htm
这是一个完整的文章,没问题就直接OK完成吧
完成了,然后再看项目报错了,看提示:web.xml is missing and <failOnMissingWebXml> is set to true
![](https://i-blog.csdnimg.cn/blog_migrate/f4970ed59a1e13502c6c66afd8caf6e8.png)
Google,找到解决办法:
You can do it also like this:
1. Right click on Deployment Descriptor in Project Explorer.
2. Select Generate Deployment Descriptor Stub.
It will generate WEB_INF folder in src/main/webapp and an web.xml in it.
等着生成了WEB-INF以及web.xml文件,再看项目结构发现有了WEB-INF,如下图:
发现pom.xml还是有问题
在项目上刷新,没用,用Project中的clear也没用,好吧,把Eclipse关了再打开就好了,不知道别人会不会有什么其他的问题,这里应该是问题多多的,有问题就网上去找答案吧。
另外就是使用两个命令,Eclipse的maven插件中有了菜单就不需要自己手动敲了,如下:
然后就可以做开发了
例如我在webapp下写了个index.jsp
刚建完文件就报错了~衰
<%@ page ……%>提示我缺少javax.servlet.http.……bulabula的,就是没有jar包
在项目上右键,maven 》add dependency,groupId输入javax.servlet ,artifactId输入javax.servlet-api,version输入3.1.0,然后就可以OK啦,Eclipse会自动从中央仓库下载该jar包,不知道是哪里已经配好了的原因还是本来就可以自动下载。打开pom.xml文件发现多了
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
其实也可以直接在该文件中手写的。
下载后本地仓库中看看会发现自动建立了文件夹及文件,像下面这样:
从这里可以看出groupId+ artifactId+ version构成了路径,文件的名称是artifactId-version.jar
然后就可以进行开发了