第3章 一切基于pom
来源:互联网 发布:java开源加密工具 编辑:程序博客网 时间:2024/05/22 03:42
第3章 一切基于pom
本章介绍了maven的核心pom.xml作用,详细描述了maven坐标变量。
- 第3章 一切基于pom
- 1 什么是pomxml
- 2 maven坐标
- 3 pomxml基本介绍
- 31 基础标签
- 32 继承标签
- 33 聚合标签
- 34 依赖标签
- 35 构建标签
- 36 maven隐式变量
3.1 什么是pom.xml
POM是项目对象模型(Project Object Model)的简称,它是Maven项目中的文件,使用XML表示,名称叫做pom.xml。maven项目中,除了一堆代码文件和跟项目有关的依赖文件外,还会包含一个pom.xml配置文件,这个文件配置了maven打包、编译、版本、路径等等的信息。其实,maven项目可以什么都没有,甚至没有代码,但是必须包含pom.xml文件。
3.2 maven坐标
maven坐标为各种构件引入了秩序,任何一个构件都必须明确定义自己的坐标,一组maven坐标包含:groupId
、artifactId
、version
、packaging
、classifier
3.3 pom.xml基本介绍
3.3.1 基础标签
基础标签描述了项目的坐标和其他信息。
<modelVersion>4.0.0</modelVersion> <groupId>com.xxx</groupId> <artifactId>xxx_api</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>xxx_api Maven Webapp</name> <url>http://maven.apache.org</url>
3.3.2 继承标签
继承标签描述了父项目的坐标和路径
<parent> <groupId>com.crm</groupId> <artifactId>crm-parent</artifactId> <version>0.0.1-SNAPSHOT</version> <relativePath>../crm-parent/pom.xml</relativePath></parent>
3.3.3 聚合标签
聚合标签描述了需要管理的子项目的路径
<modules> <module>../crm-dao</module> <module>../crm-service</module> <module>../crm-web</module></modules>
3.3.4 依赖标签
<dependencies> <dependency> <groupId> javax.servlet </groupId> <artifactId>jstl/artifactId> <version>1.2</version> </dependency> ……</dependencies>
3.3.5 构建标签
<build> <finalName>crm-web </finalName> <resources> <resource> <directory>${basedir}/src/${env}/resources</directory> </resource> </resources> <outputDirectory>${basedir}/src/main/webapp/WEB-INF/classes</outputDirectory> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> <warName>xxxxxx</warName> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>${jdk.version}</source> <target>${jdk.version}</target> </configuration> </plugin> </plugins></build>
resources
:描述工程中资源的位置。
outputDirectory
:项目输出路径,默认情况下,项目的编译class是放在${basedir}/target下。
plugin
:插件标签,描述项目工程需要的插件和插件的配置。
configuration
:插件的一些配置信息。
3.3.6 maven隐式变量
${basedir}
项目根目录 ${project.build.directory}
构建目录,缺省为target
${project.build.outputDirectory}
构建过程输出目录,缺省为target/classes
${project.build.finalName}
产出物名称,缺省为${project.artifactId}-${project.version}
${project.packaging}
打包类型,缺省为jar
${project.xxx}
当前pom文件的任意节点的内容
首页传送门
- 第3章 一切基于pom
- 第2章:一切皆对象
- 第2章 一切都为对象
- 第2章 一切皆数
- Hadoop基础教程-第4章 HDFS的Java API(4.3 pom.xml解析)
- pom.xml第一行报错
- pom.xml第一行一直报错
- pom.xml第一行报错
- pom.xml第一行报红叉的解决方法
- 第 5 章 雀跃吧!超脱了一切的弹出窗口
- 第 5 章 雀跃吧!超脱了一切的弹出窗口
- 第5节:心态决定一切
- 【出差日志】第一天,一切,适应。
- 【第2天】态度决定一切
- POM.xml 3
- SSM-3 pom依赖
- pom
- POM
- hdu Flood-it!(IDA*算法)
- c++学习log1
- 深入理解计算机系统(2)
- notification几种点击事件
- 图片列表换行错位,图片无法左对齐怎么办
- 第3章 一切基于pom
- 推荐系统小结
- WEBSERVICE各家之说
- Unity3D开发技巧
- 基于opencv的相机之马赛克功能实现(九)
- 不要自称是程序员,我十多年的 IT 职场总结 http://blog.jobbole.com/94148/
- java基础内存分析
- 5.5 输入组装阶段
- Myeclipse注册方法