Maven学习笔记

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、POMlifecycle,phase,goal的概念,lifecyclephase组成,phase的具体功能由goal完成,goal来自于插件,一个phase可以绑定0到多个goalgoal也可以绑定到0或多个phase,一句话说, phasegoal的关系是多对多关系

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

mvn clean dependency:copy-dependencies package

执行clean这个phase,然后dependency:copy-dependencies这个goal,最后再package这个phase

你可能感兴趣的:(maven,参数,property,pom,phase,goal)