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 不是那么了解,所以就有了这个想法.这 ...
随机推荐
- Matlab获取一个文件夹下所有文件名
Matlab获取一个文件夹下所有文件名: fileFolder=fullfile('D:\MATLAB\bin\trc'); dirOutput=dir(fullfile(fileFolder,'*. ...
- Android中图片优化
1.对图片进行压缩:建议使用TinyPNG工具压缩 2.WebP格式(支持4.0以上)可减少文件大小 3.尽量使用NinePatch的PNG 4.图片缓存
- 排错:Unable to create a new session key. It is likely that the cache is unavailable.
排错:Unable to create a new session key. It is likely that the cache is unavailable. 问题 登录openstack页面, ...
- 深度学习之强化学习Q-Learning
1.知识点 """ 1.强化学习:学习系统没有像很多其他形式的机器学习方法一样被告知应该做什么行为, 必须在尝试之后才能发现哪些行为会导致奖励的最大化,当前的行为可能不仅 ...
- Selenium 2自动化测试实战32(Fixtures)
Fixtures fixtures可以形象地把它看作是夹心饼干外层的两片饼干,这两片饼干就是setUp/tearDown,中间的心就是测试用例.除此之外,unittest还提供了更大范围的fixtur ...
- TASK的开始与暂停
namespace WpfApplication1 { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> publi ...
- 20190925 - 在 macOS 下为 vscode 添加 code 命令行
在 macOS 下为 vscode 添加 code 命令行最简单办法是:Ctrl + Alt + P,安装 Shell Command: Install 'code' command in PATH, ...
- vs .net WebForm 模板添加注释
首先说一点,好久不更新博客了.今天公司服务器不能用了,闲着没事儿,更新一篇博客. 今天要说的就是vs2010下,如何更改各种文件的模板,以省去每次新添加文件时,还得给文件添加文件标示注释等时间.很大程 ...
- sass与less对比学习
参考链接:https://blog.csdn.net/luluan_lin/article/details/83749176
- Stream系列(十)Count方法使用
计数器 视频讲解: https://www.bilibili.com/video/av77905733/ EmployeeTestCase.java package com.example.demo; ...