用maven搭建web项目
2009-04-04
版权声明 :转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://bearno7.blogbus.com/logs/50421327.html
前言 :
最近在用 struts2+spring+ibatis+MySQL 做一个 ELO 系统(Enet Lunnch Order System,e网打进午餐点菜系统。。。),感觉有必要记录下项目进程中的点滴收获与心得,以巩固学习效果。希望最终能成为一个系列文章,见证菜鸟的成长。
正片开始 :
首先使用maven命令行命令建立一个Web项目框架:mvn archetype:generate。回车之后会被要求选择项目类型,输入18(java web项目),然后会询问你groupId、artifactId、包名、版本。之后maven就会为你把项目的框架建好,需要注意的是框架中没有包含 java源代码的目录,还需要自己敲一下补充上去。
框架建好之后,会在框架根目录下看到一个maven的构建配置文件:pom.xml(pom,project object model,项目对象模型),项目七七八八的依赖关系,构建以及自动测试等等诸如此类的配置都在这里面进行。pom.xml里面默认会有一个依赖:junit 3.8,可以看到有一个test属性,指明在测试阶段才会用到该依赖。我感觉这个默认依赖的实际意义在于给用户一个依赖关系撰写格式的范例,都什么年代了,谁还用junit3呢是吧?所以第一件事情,就是把配置的版本号改成4.4。
好了然后就开始添加该项目所依赖的jar包了,所要依赖jar包的groupId、artifactId和版本号到http://www.mvnrepository.com/ 去查询,比如要搭建struts2项目,当然要添加对struts2核心jar包的依赖啦,那么就先到之前提到的那个网站,在搜索框敲入 org.apache.struts,然后找到 struts2-core 的项目,点进去,会看到对此项目的依赖格式已经完整地给了出来,直接Ctrl+C Ctrl+V 到pom.xml中即可。
这里稍稍提一下,如果要使用velocity,切记要把 velocity 和 velocity-tools 两个项目都引入进来,否则渲染页面的时候会报依赖缺失错误。另外在引入 vlocity 的时候发现一个问题,velocity引擎现在已经到 1.6 版本了,可是 velocity-tools 依赖的还是 1.4 的velocity,结果项目里面出现了 1.4 和 1.6 并存的囧情况,不知道是不是我引用的 velocity-tools 版本不对的缘故。
好了现在依赖关系建立完毕,我们可以开始编译项目了,到项目根目录下,命令行敲入 mvn compile。如果要把工程导入eclipse,还要再敲入 mvn eclipse:eclipse。
编写action代码和struts.xml的步骤此处省略,相对整个搭建过程而言,这是最容易的一步了,愚笨如我在这一步都没有遇到任何问题。提一下,如果action之后跳转的页面是velocity模板的话,在struts.xml的标签里要增加 type="velocity",仅此而已。
最后,运行 mvn package 命令,将项目打成 war 包(项目生成的时候maven已在pom.xml中指定了打包类型为war),为应用服务器的deploy目录增加路径指向该war包默认生成路径(根目录的 /target 下面),或拷贝war包到应用服务器的deploy目录,然后启动服务器,就可以访问啦。
后记:
如果使用eclipse,可以装个maven插件,会方便很多,所有文中提到的maven命令行操作都可以在eclipse里面通过点鼠标来实现了。我也尝试过安装插件,可是eclipse总报错,公司和家里的机器都这样,rp啊。。。。
信息源:http://bearno7.blogbus.com/logs/50421327.html