maven学习资料(搭建web项目)
maven学习资料(搭建web项目)
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
目前,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具。遗憾的是,Ant 的项目管理工具(作为 make的替代工具)不能满足绝大多数开发人员的需要。通过检查 Ant 构建文件,很难发现项目的相关性信息和其它元信息(如开发人员/拥有者、版本或站点主页)。 Maven 除了以程序构建能力为特色之外,还提供 Ant 所缺少的高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目,而使用 Ant 则需要十几行。事实上,由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目现在使用 Maven,而且公司项目采用 Maven 的比例在持续增长。 Maven这个单词来自于意第绪语,意为知识的积累,最早在Jakata Turbine项目中它开始被用来试图简化构建过程。当时有很多项目,它们的Ant build文件仅有细微的差别,而JAR文件都由CVS来维护。于是Maven创始者开始了Maven这个项目,该项目的清晰定义包括,一种很方便的发布项目信息的方式,以及一种在多个项目中共享JAR的方式。生成web项目
普通的Java项目,如基础包等:
mvn archetype:create -DgroupId=com.yourcompany -DartifactId=myproject -DarchetypeArtifactId=maven-archetype-quickstart
普通的Web项目,如一个Web项目:
mvn archetype:create -DgroupId=com.yourcompany -DartifactId=myproject -DarchetypeArtifactId=maven-archetype-webapp
Appfuse中的Struts 2.0项目:
mvn archetype:create -DarchetypeGroupId=org.appfuse -DarchetypeArtifactId=appfuse-basic-struts -DremoteRepositories=http://static.appfuse.org/repository -DarchetypeVersion=2.0-m4-SNAPSHOT -DgroupId=com.mycompany -DartifactId=myproject
使用上述命令后,你可以很快捷地生成你想要的项目原型。接下来我们只需使用下面命令,生成IDEA的项目文件,然后打开就可以在IDEA下进行项目开发啦。
mvn idea:idea -DdownloadSources=true -DdownloadJavadocs=true -DjdkLevel=1.5
当pom.xml文件发生变化时,我们只需使用下面命令重新生成module文件即可,新生成的module文件会和原来module文件进行很好的合并,通常是依赖的package发生变化啦。
mvn idea:module
生成web项目的结构
描述:java代码编译生成的classes文件,都编译到target目录中,但是,我们在eclipse中,开发的项目,编译的class文件都在WEB-INF中,就可以在eclipse中启动tomcat直接发布。但是现在不行,classes文件生成的目录又变。那就要修改maven的pom文件,来改变生成文件的编译路径。
pom.xml修改的代码如下:
<plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><version>2.1</version><executions><execution><id>copy</id><phase>package</phase><goals><goal>copy-dependencies</goal></goals><configuration><outputDirectory>${basedir}/src/main/webapp/WEB-INF/lib</outputDirectory><stripVersion>false</stripVersion></configuration></execution></executions></plugin></plugins>