前情回顾
在上一节中介绍了Maven的基本安装配置,以及通过一个小实例认识一下maven的基本架构,一切都是通过手动去搭建的,本节将通过工具讲解Maven在Eclipse中如何构建项目的,然后如何去执行相应的操作。
知识补充
一:
在上节提到*仓库,在此给出如何找到*仓库的链接,在Maven解压后的目录中,在lib下,有个maven-model-builder-3.1.1.jar,(E:\StudySoftware\javaEE\apache-maven-3.1.1\lib\maven-model-builder-3.1.1.jar),用解压缩工具打开后,找到pom-4.0.0.xml文件,打开后,即可找到*仓库定义的url链接,如图1所示:
图1
打开链接http://search.maven.org/#browse,就可以看到如图2所示的*工厂的网页,
图2
在这个文本框中可以输入要寻找的jar包,比如log4j,找到一个1.2.17版本进入后,就可以看到如图2所示的页面:
图3
将红色区域复制后可以加到pom.xml中,Maven就可以将需要的jar文件下载到本地仓库了。
二:
在上节中,我们发现Maven的项目是按照一定的架构来编写的,目录结构都是固定的,也就是如果想使用Maven所带来的功能,就要遵守Maven所定义的规则,约定好了,配置就会减少,从而方便开发。
在这里,将介绍Maven中mvn archetype:generate命令,来建立一个项目。
比如在E:\Workspaces\STSWorkspace下建立Maven_02的项目,首先在控制台输入mvn archetype:generate命令,会发现Maven开始下载命令中需要的插件和jar文件了,如图4所示:
图4
然后等到下载一段时间后停止到如图5所示:
图5
然后回车就可以,出现选择版本,选择最新版本即可,如图6所示:
图6
然后选6后回车,然后填写groupId, artifactId,version,package(敲回车默认包),如图7所示:
图7
此时查看E:\Workspaces\STSWorkspace目录,会发现Maven_02项目已经成功构建了,如图8所示:
图8
由此可以看出通过Maven的命令mvn archetype:generate构建出来的框架是约定俗成的!
注:也可以通过mvn archetype:generate -DgroupId=com.steven.maven -DrtifactId=Maven_02 -Dversion=0.0.1-SNAPSHOT创建一样的效果。
Eclipse项目构建
在实际开发中都是会在项目工具中,如Eclipse中使用,下面将通过Eclipse工具,如果我们使用最原始的Eclipse作为开发工具,也就是说用不带任何插件的Eclipse构建Maven项目,仍然需要下载插件m2eclipse,这里为了方便直接使用Spring Tool Suite(STS),下载地址为http://download.springsource.com/release/STS/3.4.0/dist/e4.3/spring-tool-suite-3.4.0.RELEASE-e4.3.1-win32.zip,已经带有Maven,下载后打开如图9所示:
图9
然后打开后,做下面的操作,进行配置Maven
首先选择Window->Preference找到左边侧边栏Maven选项,
然后根据图示进行配置,选择本地解压后的Maven目录,点击确定,如图10所示:
图10
然后选择本地仓库的位置,并完成配置,如图11,12所示:
图11
图12
这样的话,Eclipse中就已经正确配置Maven了。接下来就可以使用Eclipse构建Maven项目:
新建New->Other->Maven->Maven Project,如图13所示:
图13
点击Next,默认Workspace,Next,然后选择quickstart模式,如图14所示:
图14
点击Next,填入信息,如图15所示:
图15
比如建议一个用户管理项目,填写以上的信息,然后点击Finish,完成项目的创建,此时如图16所示:
图16
此时通过Eclipse构建的Maven项目已经成功了,如果想进行测试,可以通过如图17所示的方法进行测试:
图17
测试结果可以通过控制台查看:
[INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building user-core 0.0.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ user-core --- [INFO] Using ‘UTF-8‘ encoding to copy filtered resources. [INFO] skip non existing resourceDirectory E:\Workspaces\STSWorkspace\user-core\src\main\resources [INFO] [INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ user-core --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ user-core --- [INFO] Using ‘UTF-8‘ encoding to copy filtered resources. [INFO] skip non existing resourceDirectory E:\Workspaces\STSWorkspace\user-core\src\test\resources [INFO] [INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ user-core --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ user-core --- [INFO] Surefire report directory: E:\Workspaces\STSWorkspace\user-core\target\surefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- Running com.steven.entity.AppTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.044 sec Results : Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 8.959s [INFO] Finished at: Sat Jan 18 23:47:29 CST 2014 [INFO] Final Memory: 6M/15M [INFO] ------------------------------------------------------------------------注:至此,Eclipse已经成功构建Maven项目,会发现通过工具会减少很多操作,项目的开发仍旧按照此架构进行,在接下来的博文中将会通过项目来讲解Maven的功能。
在此恭祝大家学习愉快!