刚接触Maven没多长时间,实习时在的小公司很不规范,所有web项目都是dynamic web project搭建,没有用到项目构建,管理工具,导致了非常多的重复工作与低效。
先来看看Maven的功能,下面是来自于百度百科:Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
首先构建一个Maven项目,网上有很多介绍,就不重复了。整个Maven项目里很重要的就是这个pom文件。pom就是用来专门管理项目中用到的各种资源,包括jar包,jdbc驱动等,只要在pom中写下如下格式的xml,就能够自动为你下载部署该开发包(这是我的项目中的pom文件,也是在网上找的):
? xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
? 4.0.0
? com.myapp.lxiao
? MavenSSH
? war
? 0.0.1-SNAPSHOT
? MavenSSH Maven Webapp
? http://maven.apache.org
?
? ? ?
? ? ?
? ? ? ? mysql
? ? ? ? mysql-connector-java
? ? ? ? 5.1.34
? ?
? ?
? ? ? junit
? ? ? junit
? ? ? 3.8.1
? ? ? test
? ?
? ?
? ?
? ? ? ? org.apache.struts
? ? ? ? struts2-core
? ? ? ? 2.3.1.2
? ?
? ?
? ?
? ? ? ? org.apache.struts
? ? ? ? ? struts2-spring-plugin
? ? ? ? 2.3.1.2
? ?
? ?
? ?
? ? ? ? org.apache.struts
? ? ? ? struts2-json-plugin
? ? ? ? 2.3.1.2
? ?
? ?
? ?
? ? ? ? org.hibernate
? ? ? ? hibernate-core
? ? ? ? 3.6.10.Final
? ?
? ?
? ?
? ? ? ? org.aspectj
? ? ? ? aspectjweaver
? ? ? ? 1.7.3
? ?
? ?
? ?
? ? ? ? cglib
? ? ? ? cglib
? ? ? ? 2.2
? ?
? ?
? ?
? ? ? ? org.slf4j
? ? ? ? slf4j-api
? ? ? ? 1.7.5
? ? ? ? compile
? ?
? ?
? ?
? ?
? ? ? ? org.springframework
? ? ? ? spring
? ? ? ? 2.5.6
? ? ? ? jar
? ?
? ?
? ?
? ? ? ? org.springframework
? ? ? ? spring-webmvc
? ? ? ? 3.2.3.RELEASE
? ? ? ? jar
? ? ? ? compile
? ?
? ?
? ?
? ? ? ? log4j
? ? ? ? log4j
? ? ? ? 1.2.16
? ? ? ? compile
? ?
? ?
? ?
? ? ? ? javax.servlet.jsp
? ? ? ? jsp-api
? ? ? ? 2.1
? ? ? ? provided
? ?
? ?
? ?
? ? ? ? c3p0
? ? ? ? c3p0
? ? ? ? 0.9.1.2
? ?
? ?
? ?
? ? ? ? javax.servlet
? ? ? ? servlet-api
? ? ? ? 2.5
? ? ? ? provided
? ?
? ?
? ?
? ? ? ? mysql
? ? ? ? mysql-connector-java
? ? ? ? 5.1.26
? ? ? ? compile
? ?
?
?
? ? MavenSSH
?
然后我们来看一下Maven项目的目录结构,能够知道不同程序,文件都放到哪些文件夹下。
?
知道了maven的目录结构,我们就可以在各自的目录下创建对应的文件了。