maven pom文件结构简析
要使用maven,入门的最好办法就是在myeclipse中直接新建一个maven项目,同时勾选create a simple project选项,这样能快速创建一个简单的默认类型的符合maven默认结构的maven项目。然后就需要为项目配置各种依赖了,使用maven pom editor打开pom.xml文件,在下方切换到Dependency视图,就可以图形化的添加依赖了。
不过图形化视图只是辅助手段,多多少少的还需要手工编辑pom.xml文件,这时候如果熟悉pom.xml文件结构的话,就会方便的多。
pom文件是以标签的形式展现的,根节点是一个project标签。其他标签都是写在其内部的。通常会使用到如下几种标签:
<modelVersion> 指定了当前模型的版本,和maven有关。使用默认值即可。
<groupId>
<artifactId>
<version>
这三个要一起说,因为这三个通常一起规定了某一个构建(一个jar、war包等就是一个构建)。groupid通常是公司域名的倒写(也可以认为是同一组的jar);artifactid是构建本身的名字,名字中最好不要带—. 等字符(因为这些字符在maven构建命名规范中属于关键字);version规定了当前构建的版本,版本号通常以.隔开(废话)。
<packaging> 指定了当前构建的类型,常用的有jar,war,pom等。
<build> 指定如何构建当前的构建。里边通常包含的标签有:
<resources>:指定了当前构建的source目录
<plugins> :指定了进行构建时使用的插件。
build标签的具体使用会在以后的章节中描述。
<dependencies>:指定当前构建都需要哪些依赖,<dependencies>会包含若干个<dependency>子标签
<dependency>:此标签是被包含在<dependencies>标签中的,每一个dependency标签都对应一个依赖。
<properties> :其中包含了若干个自定义属性,通常的做法中,会将各个依赖的版本放置到此标签中。
一个pom文件用的最多的几个标签就是上述几个,应该比较容易理解。文章结尾在贴出一个简单的pom.xml文件:
- <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.test</groupId>
- <artifactId>TestMavenPom</artifactId>
- <version>1.0.0</version>
- <properties>
- <commons-lang3>3.3.2</commons-lang3>
- </properties>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- </configuration>
- </plugin>
- </plugins>
- </build>
- <dependencies>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- <version>${commons-lang3}</version>
- </dependency>
- </dependencies>
- </project>
maven pom文件结构简析的更多相关文章
- maven pom文件结构详解
POM文件结构 Project Object Model是Maven2项目的基础所在,简单来说它就是一个XML文件,Maven2用它来描述一个工程的整个生命周期所需要执行的一系列功能和特性. 最小配置 ...
- Maven pom.xml文件详解
Maven pom.xml文件详解 一.简介 POM全称是Project Object Model,即项目对象模型. pom.xml是maven的项目描述文件,它类似与antx的project.xml ...
- [Spring] 学习Spring Boot之一:基本使用及简析
一.简介 使用 Spring Boot 目的主要是用来简化 Spring 应用的搭建及开发过程,因为使用 Spring 及 SpringMVC 框架时需要手动配置的地方非常多(各种包之间的依赖.各种配 ...
- Linux目录结构简析
Linux目录结构简析 Linux继承了unix操作系统结构清晰的特点.在linux下的文件结构非常有条理.但是,上述的优点只有在对linux相当熟悉时,才能体会到.现在,虫虫就把linux下的目录结 ...
- 简析.NET Core 以及与 .NET Framework的关系
简析.NET Core 以及与 .NET Framework的关系 一 .NET 的 Framework 们 二 .NET Core的到来 1. Runtime 2. Unified BCL 3. W ...
- 简析 .NET Core 构成体系
简析 .NET Core 构成体系 Roslyn 编译器 RyuJIT 编译器 CoreCLR & CoreRT CoreFX(.NET Core Libraries) .NET Core 代 ...
- RecycleView + CardView 控件简析
今天使用了V7包加入的RecycleView 和 CardView,写篇简析. 先上效果图: 原理图: 这是RecycleView的工作原理: 1.LayoutManager用来处理RecycleVi ...
- 史上最全的maven pom.xml文件教程详解
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- Java Android 注解(Annotation) 及几个常用开源项目注解原理简析
不少开源库(ButterKnife.Retrofit.ActiveAndroid等等)都用到了注解的方式来简化代码提高开发效率. 本文简单介绍下 Annotation 示例.概念及作用.分类.自定义. ...
随机推荐
- RSA加密解密及RSA签名和验证及证书
RSA加密解密及RSA签名和验证及证书 公钥是给别人的 发送密文使用公钥加密 验证签名使用公钥验证 私钥是自己保留的 接受密文使用私钥解密 发送签名使用私钥签名 上述过程逆转是不行的,比如使用私钥加密 ...
- 图解 MongoDB 地理位置索引的实现原理(转)
原文链接:图解 MongoDB 地理位置索引的实现原理 地理位置索引支持是MongoDB的一大亮点,这也是全球最流行的LBS服务foursquare 选择MongoDB的原因之一.我们知道,通常的数据 ...
- quantum theory
the principles of quantum mechanics by p.a.m.dirac.
- HDU1208:Pascal's Travels(DP)
Problem Description An n x n game board is populated with integers, one nonnegative integer per squa ...
- easyui combobox默认选中项
今天写前端代码发现combobox还挺难搞, $("#select_Dic").combobox({ url: "http: ...
- 学 Win32 汇编[33] - 探讨 Win32 汇编的模块化编程
我觉得所谓的模块化有两种: "假模块化" 和 "真模块化". 所谓 "假模块化" 就是通过 include 指令把 *.inc 或 *.as ...
- Java Math.sqrt()方法
描述 java.lang.Math.sqrt(double a) 返回正确舍入的一个double值的正平方根.特殊情况: 如果参数是NaN或小于为零,那么结果是NaN. 如果参数是正无穷大,那么结果为 ...
- 原生JS实现new方法、new一个对象发生的四部、new里面常用的优先级
一.js中new一个对象的过程 首先了解new做了什么,使用new关键字调用函数(new ClassA(…))的具体步骤: 1.创建一个新对象: var obj = {}; 2.设置新对象的const ...
- protobuf-c的学习总结
1.前言 项目中用到protobuf-c进行数据序列化,好处在于后期程序扩展性非常好,只需要改动proto的定义就可以保持兼容,非常的灵活方便.关于protobuf-c的详细介绍可以参考google官 ...
- THINKPHP 验证码不显示
最近同事将我之前使用Thinkphp做的一个项目从香港服务器迁移到国内,但却遇到了图片验证码不显示的问题 但我确认了以下可能的问题后还是没有解决 PHP是否已经安装GD库支持: 输出之前是否有任何的输 ...