您的位置:首页 > 运维架构

Maven学习笔记

2013-10-17 20:01 996 查看
1、 Maven是用来管理项目依赖的工具

2、 Maven的主配置文件是POM文件,要系统完整全面学习POM文件,可以查看XSD文件[http://maven.apache.org/xsd/maven-4.0.0.xsd],看完了这个我对POM文件中所有的标签和元素有了一个完整的了解

备注:看xsd文件的时候,最好采用某种IDE等工具,这样才能有层次地看这个文档,否则比较杂乱的感觉

3、 POM文件可以处理的参数有几部分:

内置的元参数:比如${basedir}

项目参数:比如${project.build.directory}

本地设置参数:比如${settings.localRepository}

本地系统的环境变量参数:比如${env.M2_HOME}

Java系统参数:比如${jdk_home}

父POM的变量:比如${project.parent.XXX}

自定义的参数:

<project>

<properties>

<my.filter.value>hello</my.filter.value>

</properties>

</project>

那么下次就可以用${my.filter.value}来引用hello这个值了

4、在编译一个pom项目时,我本来有几个方面的参数困惑

1)在有Profile的时候,它可以选择某个Profile的配置文件作为工作文件

2)在3中提到的参数,在编译完成之后的POM中,都被替换为实际的值

3)如果配置了Resource标签,并且允许进行参数替换,那么将Resource目录下的文件复制到target下时,会进行参数值替换

4)借用“properties-maven-plugin”等plugin,可以在pom中直接读取property文件的内容

用mvn help:effective-pom命令,可以查看最终生成的pom文件

5、POM有lifecycle,phase,goal的概念,lifecycle由phase组成,phase的具体功能由goal完成,goal来自于插件,一个phase可以绑定0到多个goal,goal也可以绑定到0或多个phase,一句话说, phase与goal的关系是多对多关系

用mvn phase goal的形式,可以手动进行maven命令的操作,比如

mvn clean dependency:copy-dependencies package

执行clean这个phase,然后dependency:copy-dependencies这个goal,最后再package这个phase
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息