公司项目用到了Maven,一直只是听说过并没有实际研究过它到底是干什么的,每天用到的无非就是之前写好的clean,install,然后run,趁这个端午假期,来个helloworld吧!
首先提一个问题,Maven是干什么用的?
我一开始觉得,maven就是管理jar包用的,在这之前我们做开发之前还得辛辛苦苦去找jar包,同时还得担心版本不匹配等问题,有了Maven我们就不用去刚这个了,Maven帮我们管理你所需要的jar包,下面是来自oracle的Java社区里面的一段文字:(帖子地址:http://www.oracle.com/technetwork/cn/community/java/apache-maven-getting-started-1-406235-zhs.html)
Maven 是一个项目管理和构建自动化工具。但是对于我们程序员来说,我们最关心的是它的项目构建功能。所以这里我们介绍的就是怎样用 maven 来满足我们项目的日常需要。
Maven 使用惯例优于配置的原则 。它要求在没有定制之前,所有的项目都有如下的结构:
目录 | 目的 |
${basedir} | 存放 pom.xml和所有的子目录 |
${basedir}/src/main/java | 项目的 java源代码 |
${basedir}/src/main/resources | 项目的资源,比如说 property文件 |
${basedir}/src/test/java | 项目的测试类,比如说 JUnit代码 |
${basedir}/src/test/resources | 测试使用的资源 |
一个 maven 项目在默认情况下会产生 JAR 文件,另外 ,编译后 的 classes 会放在 ${basedir}/target/classes 下面, JAR 文件会放在 ${basedir}/target 下面。
好,抠字眼的东西我就说(抄)到这里,我们开始实战Maven吧,我目前用的最多的两个servlet引擎是tomcat和jetty,学新的东西我们一般喜欢helloworld程序,下面我就分别就这两个来个helloworld吧。
(1)本地安装Maven
下载地址http://http://maven.apache.org/download.cgi 现在maven已经出到maven3了,请根据需要下载
下载下来之后解压(在安装之前需要确认你已经装好了jdk,因为maven的运行需要Java环境)
安装maven同样的也需要去配置环境变量,如图所示:
出现如图所示的提示就说明你安装成功了。
(2)安装eclipse插件
接下来我们进入eclipse的插件安装,这个我就不再说明了,熟悉eclipse的都知道怎么用,不会的百度一下吧。
不过要注意的是,安装完Maven插件之后需要配置maven的安装目录和设置user settings(使用tomcat会用到)
(3)新建Maven Project
到这里就当你什么都搞定了,接下来我们正式开始新建我们第一个Maven项目。
解释一下这几个,第一次用的人估计会很迷惑这到底是什么鬼。
GroupId属性是一个组织或者项目(比如开源项目)的唯一ID,我们平时用的什么com开头的那些就是一般我们这个地方要填的东西了。
ArtifactId属性就是你所要构建的项目的名称。(注:这个截图有点早,我最终写的是maven)
Version属性就是项目的版本,这个一般默认就好。
还有一个packaging,创建项目第一步如果第一个勾选了就能看到别的选项,现在默认给我们设置了这个属性值为war了。
据说这个几个会形成Maven的坐标,好像很神奇的样子,后面说到就明白了。
点击Finish我们可以大概看到文件目录是什么样的
maven 的 archetype 插件建立了一个 helloworld 目录,这个名字来自 artifactId 。在这个目录下面,有一个 Project Object Model(POM) 文件 pom.xml 。这个文件用于描述项目,配置插件和管理依赖关系。
源代码和资源文件放在 src/main 下面,而测试代码和资源放在 src/test 下面。所谓的约定优于配置就是说我们只要按照这个文件目录去开发,maven就会帮处理日常的事务compile,test,package等等。
Maven项目的核心就是那个pom.xml文件了,它定义了项目的基本信息,用于描述项目如何构建,声明项目依赖等等。
这个pom.xml还大有文章,目前helloworld程序还不需要理解太过深入。
修改index.jsp,默认生成了,我们稍作修改一下以确定最后效果出来的是自己写的jsp页面
(4)配置Servlet引擎
1.Tomcat的配置
Tomcat我们现在最常用的还是Tomcat6吧,那我就以6为例吧。(打个广告)我的资源里有打包好的Tomcat6,7,8,32位的,欢迎大家去下载。http://download.csdn.net/detail/donggua3694857/9546360
首先我们需要修改一下conf目录下的tomcat_user.xml文件,打开并找到<tomcat-users>节点,添加新的角色和用户,如图所示
然后我们需要给Maven配置Tomcat Server,在settings.xml里面<servers>节点添加,要记得那个id。之后在pom.xml中配置这个server,用户名密码和你在tomcat_user.xml设置的一样。
最后在maven项目里面添加tomcat的插件就好了,添加方法很简单,找到<plugins>节点,在后面加上如图示的xml代码:
保存,大功告成,等maven帮我们把东西下载完......
跑起来吧,先把tomcat运行起来,右键maven build,输入命令tomcat6:run,出现这个就说明你的tomcat运行成功了
跑完然后再输入命令tomcat6:deploy,运行,出现这个就说明你部署成功了
接下来去浏览器输入url,看看效果吧(我把端口改成了9090,tomcat修改端口具体不清楚怎么做请自行百度)
2.Jetty的配置
Jetty的配置就相对来说比较简单,毕竟jetty架构比较简单嘛。
废话不多说直接上pom.xml配置
当然用jetty我们需要给他加个servlet的jar包。
maven里面管理依赖只需要配置就好了。
在今后的开发中如果遇到需要添加新的jar包,就去maven的仓库里面去找http://mvnrepository.com/
找到后上面就有相关的配置,而你只需要Ctrl+C然后Ctrl+V到你的pom.xml文件里面就好。
配置好后,跑起来看看吧,maven build输入命令jetty:run
然后去浏览器看看(端口8090是在pom.xml里面设置的)
以上就是关于maven的helloworld程序。哇,要学的东西还有很多啊。希望大家多多支持。