Maven的出现是为了将程序员从‘打包,发布、、、’中解脱出来。
是一种独立的软件项目管理工具
2,Maven负责整个项目的构建过程。开发人员只需要描述项目基本信息在一个配置文件中:pom.xml。
3,声明式依赖性管理
4,集中的组件库管理
5,文档的自动生成
6,报告的自动生成
Maven工程目录结构:
- src:源代码目录。所有的源代码都被放在了这个目录下。在这个目录下又包括了:
1) main:所有的源代码放在这里。对于Java项目,还有一个下级子目录:java. 对于Flex项目则是flex,。。。
2) test:所有的单元测试类放在这里。
- target:所有编译过的类文件以及生成的打包文件(.jar, .war, ...)放在这里。
- bin:该目录包含了mvn运行的脚本,这些脚本用来配置java命令,准备好classpath和相关的java系统属性,然后执行java命令。
编译: mvn compile
单元测试: mvn test
构建并打包: mvn package
清理: mvn clean
安装 mvn clean install
pom.xml解析:
modelVersion是4.0.0;groupId定义了项目属于哪个组,这个组往往和项目所在的组织或公司存在关联,譬如在goolecode上建立了一个名为myapp的项目,那么groupId就应该是com.goolecode.myapp;artifactId定义了当前maven项目在组中唯一的ID;version指定了项目当前的版本;
dependencies标签定义了依赖;下面的dependency标签即为依赖的包,可以有多个dependency标签,即依赖多个包,maven会自己在库中去下载包;如果在dependency标签下有scope属性,则表示为依赖范围,如果值为test,则表示该依赖只在测试中有效
根据pom.xml文件清理并编译后可以打成jar包,打好的包需要install,这要的话才可以上传到maven的仓库中,这样才能够被别的maven项目所使用。因为maven自己的库包含的包不可能是我们需要的全部,比如我们自己开发的工程包,这就需要上传到maven的本地库里面去了。命令行类似:mvn install:install-file -Dfile=E:/workspaceYX/jczf/lib/yanxiu-util-1.0.jar -DgroupId=com.yanxiu -DartifactId=yanxiu-util -Dversion=1.0 -Dpackaging=jar
eclipse从svn上将maven工程导入的步骤:
1.在eclipse上从svn上导入工程下来,现在显示的还是java工程而不是maven工程,算是一个映射
2.在cmd命令行下跳转到工程的路径下,要到该工程的根目录下,执行 mvn eclipse:eclipse。mvn会自动去执行编译生成.settings文件夹(注意:若有引用包,而mvn本地库中没有该包,则需要先将包导入到maven的本地库中。见上面)
3.在eclipse中刷新工程即可,则会变成mvn的工程。
在eclipse中将maven和resin整合:
1.修改resin安装目录下conf文件夹中的resin.conf;将web项目的根路径改掉,最好不在原来的基础上直接改,重新复制一份,在此基础上修改,将原来的注释掉。如改成:
<!--
<web-app id="/" root-directory="E:\workspace\3r-front.git\WebRoot"/>
-->
<web-app id="/" root-directory="E:\workspaceYX\yanxiu-upload-meeting\src\main\webapp"/>
----待补充