Maven学习笔记(八)Maven的入门使用—1.编写POM文件
来源:互联网 发布:qs网络语是什么意思 编辑:程序博客网 时间:2024/05/01 00:23
编写POM文件
Maven项目的核心是pom.xml。POM(Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖等。 这里以一个最经典的例子来演示Maven如何简单使用。 首先,创建一个Hello-World的文件夹,打开该文件夹,新建一个名为pom.xml的文件,输入内容,如下图所示:
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.xv.maventest</groupId> <artifactId>helloworld</artifactId> <version>1.0-SNAPSHOT</version> <name>Maven Hello World Project</name></project>
代码的第一行是XML头,指定了该文档的版本和编码方式。 <project>元素定义了一个项目的基本坐标,project是所有pom.xml的根元素,它还声明了一些POM相关的命名空间及xsd元素,虽然这些元素不是必须的,但是使用它们可以让第三方工具帮助我们快速编辑POM文件。 根元素下第一个子元素modelVersion指定了当前POM模型的版本,对于Maven2及Maven3来说,它只能是4.0.0。 groupId,artifactId,version这三个元素定义了一个项目的基本坐标,在Maven的世界,任何的jar、pom或者war都是以基于这些基本的坐标进行区分的。 groupId定义了项目属于哪个组,这个组往往和项目所在的组织或公司存在关联。比如在googlecode上建立了一个名为myapp的项目,那么groupId就应该是com.googlecode.myapp。 artifactId定义了而当前Maven项目在组中的唯一ID, version指定了项目Hello-World的当前版本——1.0-SNAPSHOT。SNAPSHOT意为快照,表示该项目还处于开发中,是不稳定的版本。 name元素声明了一个对于用户友好的项目名称,这个元素并不是必须的,但是推荐设立,以方便信息交流。 没有任何实际的java代码,就能够定义一个Maven项目的POM,这体现了Maven的一大优点,它能让项目对象墨香最大程度地与实际代码解耦或者叫做正交性。能够在很大的程度上避免Java代码和POM代码的相互影响。
0 0
- Maven学习笔记(八)Maven的入门使用—1.编写POM文件
- Maven学习笔记(八)Maven的入门使用—2.编写主代码
- Maven学习笔记(八)Maven的入门使用—3.编写测试代码
- Maven学习笔记之四:Maven使用入门(编写POM)
- Maven学习笔记(八)Maven的入门使用—7.创建Maven项目
- Maven学习笔记(八)Maven的入门使用—5.使用Archetype生成项目骨架
- Maven学习笔记(八)Maven的入门使用—4.打包和运行
- Maven学习笔记(八)Maven的入门使用—6.将Maven项目导入到Eclipse中
- Maven Pom文件的编写
- maven学习笔记(三)pom文件
- Maven学习笔记(八)Maven的入门使用—8.在Eclipse中运行mvn命令
- maven的pom文件学习
- Maven学习笔记二eclipse如何使用 Maven、Maven目录pom.xml文件的解析、maven 和maven项目之间的关系
- Maven实践(二)---编写POM文件
- Maven学习笔记1-牛逼的POM文件
- Maven学习笔记第二节(pom文件)
- Maven学习笔记五:Maven使用入门(编写测试代码)
- maven基础学习-父pom文件的使用(七)
- 哲学家就餐--互斥锁
- HDU5170 GTY's math problem
- 关于annotation的一些版本的支持问题。
- Linux Socket模型的幽默认识(转载的)
- 【SQL Server】--存储过程
- Maven学习笔记(八)Maven的入门使用—1.编写POM文件
- HDOJ——5170(GTY's math problem)
- 哲学家就餐-信号量
- 分享 如何做到基于NDK的Android应用防破解!
- 制作initramfs/initrd镜像
- Spring使用JTA进行分布式事务管理
- Hibernate中的懒加载原理分析
- 面试题
- 哲学家就餐-条件变量