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 示例.概念及作用.分类.自定义. ...
随机推荐
- NOI 2015 Bless All!
明天day1,加油!RP++! (话说出题人貌似是dyf&lyd?好虚啊……
- Class:Task 类
ylbtech-.Net-Class:Task 类 1. Task 类返回顶部 1-1. #region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, ...
- Shell编程之数组使用
记录一下shell中数组的使用 主要是数组元素的创建,元素的增.删.改操作. #!/bin/bash #基本数组操作 a=( ) ##()表示空数组 ]} echo "所有元素: " ...
- jQuery UI全教程之一(dialog的使用教程)
jQuery UI目前的版本已经更新到了1.8.7.个人感觉和easyui相比起来,jQuery UI在界面的美观程度和可定制型更强一些.所以再次将一些jQuery UI组件的用法说明一下,方便日后查 ...
- git学习一二三一
svn用的多,但是我是一个geek,git这个美丽的scm,我怎能错过了?于是最近在全方位的窥视它的酮体,把我的一点心得分享给大家把. 先说一说给git的历史, Git是一个开源的分布式版本控制系统, ...
- nginx location 匹配的规则
nginx 的配置文件中, server里面的location 的配置项的理解: server { listen 24010; client_max_body_size 30M; location = ...
- CHtmlEditCtrl(1) : Use CHtmlEditCtrl to Create a Simple HTML Editor
I needed a lightweight HTML editor to generate "rich text" emails, so I decided to explore ...
- Docker创建虚机和swarm
创建虚机: First, quickly create a virtual switch for your virtual machines (VMs) to share, so they will ...
- CSS中的图片路径问题
CSS中的背景图片写了相对路径,为什么不显示那? [解决方法] CSS中的背景图片路径应该写成相对于当前CSS文件的路径,而不是针对网站根目录的相对路径.
- [R]Kick start