maven入门-- part1 简介
Maven是什么
maven是基于项目对象模型(pom:project object model),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具。对依赖关系的特性进行细致的分析和划分,避免开发过程中的依赖混乱和相互污染的行为。
Maven生命周期
maven把项目的构建划分为不同的生命周期,粗略来看包括:编译,测试,打包,集成测试,验证,部署。maven中的所有执行动作(goal)都需要指明自己在这个过程中的执行位置,然后maven执行的时候,就按照过程的发展依次调用这些goal进行各种处理,maven同样提供了配置文件,可以跳过某些阶段。
Maven的工程结构
pom.xml(maven核心配置文件)
src
main
java(java源代码目录)
resources(资源文件目录)
test
java(单元测试代码目录)
target(输出目录,所有的输出都在这个目录下)
classes(编译后的class文件存放处)
Maven的版本规范
groudId:团体,组织的标识符,一般以逆向域名开头
artifactId:单独项目的唯一标识符,不要再里面包含(.)
version:一个项目的特定版本,groupId,artifactId,version唯一标识一个maven项目
SNAPSHOT:开发过程中不稳定的版本
LATEST:指某个特定构建的最新发布,可能是发布版,也可能是snapshot,看哪个时间最晚
RELEASE:最后一个发布版
Maven一些其他的元素
(1)packaging:项目打包后输出的类型,类型为war的项目产生一个web应用
(2)dependencies和dependency:Maven的一个重要作用就是统一管理jar包,为了一个项目可以build或运行,项目中不可避免的,会依赖很多其他的jar包,在Maven中,这些依赖就被称为dependency。
说道这里必须说下:本地仓库和远程仓库和私服;本地仓库配置到"%MAVEN_HOME%\conf\settings.xml"中找localRepository。默认是~/.m2/repository;私服配置:一般都在自己的~/.m2/settings.xml中配置;远程仓库:一般是maven的核心仓库,maven安装的时候有默认的路径:http://repo.maven.apache.org/maven2
Maven工程首先会从本地仓库中获取jar包,当无法获取到jar包时,本地仓库将从私服中下载jar包,如果私服中也没有的话,将从远程仓库获取,并缓存至私服,并放到本地仓库中以备用。
如:
<dependencies> <dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version>
<scope>provided</scope>
</dependency>
</dependencies>
groupId,artifactId,version唯一标识一个maven项目,有了这三个元素,Maven会先去本地仓库找对应的jar包,没有找到再去私服找,没有找到再去远程仓库中下载jar包到本地仓库中。
(3)properties
用来定义配置属性,比如构建源码编码方式,构建版本号。
(4)build:表示与构建相关的配置,代码checkStyle就是在这里配的
maven入门-- part1 简介的更多相关文章
- Maven入门之简介与安装
一.Maven简介 1.什么是Maven? Maven是一个项目管理工具和集成编译工具,它主要包含如下内容: –一个项目对象模型(Project Object Model), –一组标准集合, –一个 ...
- Maven学习专题--Maven入门及安装
因为项目需要,新项目需要使用Maven开发,但是组内大部分没有接触过maven.我就毅然承担搭建maven环境的任务了.因为一切重头开始,就想把自己的整个搭建环境.项目创建.框架整合和模块管理整个过程 ...
- Maven入门指南
Maven入门指南 本指南旨在第一次为使用Maven的人员提供参考,但也打算作为一本包含公共用例的独立参考和解决方案的工具书.对于新用户,建议您按顺序浏览该材料.对于更熟悉Maven的用户,本指南致力 ...
- Maven入门指南:仓库
1 . 仓库简介 没有 Maven 时,项目用到的 .jar 文件通常需要拷贝到 /lib 目录,项目多了,拷贝的文件副本就多了,占用磁盘空间,且难于管理.Maven 使用一个称之为仓库的目录,根据构 ...
- Maven入门详解
什么是Maven Maven,鼎鼎大名,在今天之前,我对于它一直是处于一种"只闻其名不见其人"的状态.之所以说"只闻其名",是因为Maven太有名了,它是Apa ...
- Maven 入门 (2)—— 创建Maven项目
http://blog.csdn.net/kakashi8841/article/details/17427043 读这篇文章之前请先确保你成功安装了maven,如果你还没安装成功,请先看:Maven ...
- Maven 入门 (1)—— 安装
Maven 入门 (1)—— 安装 http://blog.csdn.net/kakashi8841/article/details/17371837 1.下载maven安装包 http://mave ...
- Maven入门示例(3):自动部署至外部Tomcat
Maven入门示例(3):自动部署至外部Tomcat 博客分类: maven 2012原创 Maven入门示例(3):自动部署至外部Tomcat 上一篇,介绍了如何创建Maven项目以及如何在内 ...
- maven 入门
Apache Maven 入门篇 ( 上 ) 作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这 ...
随机推荐
- RabbitMQ学习之:(十一)AMQP.0-10规范,中文翻译1,2,3章 (转载)
From:http://blog.sina.com.cn/s/blog_4aba0c8b0100p6ho.html From: http://blog.sina.com.cn/s/blog_4aba0 ...
- CentOS7出现Unit iptables.service could not be found
CentOS7默认的防火墙不是iptables,而是firewalle. 出现此情况可能是iptables防火墙未安装. #停止firewalld服务 systemctl stop firewalld ...
- Linux 上svn使用http访问设置
https://blog.csdn.net/wobuxingfang/article/details/70835414https://blog.csdn.net/u010487568/article/ ...
- HDFS文件目录操作代码
分布式文件系统HDFS中对文件/目录的相关操作代码,整理了一下,大概包括以下部分: 文件夹的新建.删除.重命名 文件夹中子文件和目录的统计 文件的新建及显示文件内容 文件在local和remote间的 ...
- 安装flanal报错解决
1.:Error registering network: failed to acquire lease: node "test4" pod cidr not assigned ...
- CentOS里查看内存的使用
转自 http://blog.csdn.net/blueman2012/article/details/6904597
- Linux下Apache虚拟主机配置
Linux下Apache虚拟主机的三种配置.这样可以实现一台主机架构多个独立域名网站.其中基于域名的最为常见.性价比也最高.下面PHP程序员雷雪松详细的讲解下Linux下Apache虚拟主机配置的具体 ...
- Java学习笔记-IO
IO(Input Output)流,用来处理设备之间的数据传输 IO IO概述 Java对数据的操作是通过流的方式 Java用于操作流的对象都在IO包中 流按操作数据分为两种:字节流与字符流 流按流向 ...
- kubernetes的namespaces总是Terminating
0.尝试强制删除不行 删除时带上–force --grace-period=0参数 ,无法删除:kubectl delete namespace rook-ceph --force --grace-p ...
- linux的route
参考: https://blog.csdn.net/u011857683/article/details/83795435 老男孩: https://blog.51cto.com/oldboy/974 ...