MAVEN 的一些简单介绍
来源:互联网 发布:手把手教你单片机 pdf 编辑:程序博客网 时间:2024/04/26 01:56
简介
随着项目所使用到的框架越来越多、配置环境和管理jar包等都成了一个很繁琐的过程、而且,在实际的项目开发中,同一框架不同人使用的版本不同,也往往可能造成项目开发中的很多问题,适配,兼容性等。而Maven就是这样一个很好的工具、就像Linux中的包管理工具yum、apt等、让我们能够很简单的对我们的工程进行管理,包括环境配置,管理jar包等,能让我们整个开发过程简单而充满乐趣。
安装
Windows:
http://ycx211314.blog.163.com/blog/static/101670862011515114848879/
Linux:
http://www.blogjava.net/caojianhua/archive/2011/04/02/347559.html
OSX:
http://blog.csdn.net/f_zongjian/article/details/24144803
Maven核心概念

仓库
具体Maven在对我们使用的jar包的获取和管理过程会在下一节介绍、这里我们先大概介绍一下Maven的本地仓库
实际上,当我们在需要添加jar时(取决于项目的pom文件),它首先会到本机的仓库里面去找,如果找不到,就会先到配置的私服(即Nexus)里面去找,如果还没有,就会到Apache的中央仓库里面去找,将需要用到的jar包放到私服里,然后再取到本机。首先介绍一下本地仓库,在不同OS一般有不同的路径:
Windows:用户目录/.m2/repository
Linux:~/.m2/repository
仓库组织形式:
涉及到一点下面坐标段的知识,一个个jar包其实也就和包在实际电脑中的结构类似、不同的jar包都归档的很好在文件夹里面了,其组织形式参照坐标。
如上图,repository下第一级目录即是groupId的名称,二级目录为artifactId,三级为版本号
中央仓库
收录了绝大多数开发中公用的jar包文件,需要特定的jar包即搜索名称即可以访问 查找所需 jar 包的
pom 配置文件
e.g. 配置struts时候,在搜索所需jar包名

然后即可在项目的依赖library中找到刚才查找的jar包
查找过程总结:本机(~/.m2/repository/XXX) -> 私服(Nexus)-> 中央仓库
项目构建约定
maven中定义了一些文件存放的组织规定:
• src/main/java
存放项目的 .java 文件
• src/main/resources
存放项目资源文件,如Spring、Hibernate
• src/test/java
存放测试用 java 文件,如JUnit测试类
• src/test/resources
存放测试资源文件
• target
项目输出位置
• pom.xml
Maven配置文件
坐标
Maven坐标的目的就在于来唯一标识所需文件
坐标由下面几个部分组成:
• groupId:
定义当前 Maven项目 所属 项目
• artifactId:
定义实际项目中一个模块
• version
当前项目版本
• packaging
定义项目打包方式,如 jar , war ,ear 等
Pom.xml
如上图,groupId,artifactId,version 等上面都介绍过,平时开发中主要操作的也就只有 dependencies 中的内容,即只需要将相应jar包得配置代码复制到 dependencies 中即可。
# 注:scope 为maven生命周期的配置,即配置哪些jar包在哪些时候起作用,例test即在测试时使用。
总结:
使用 Maven 能很大的简化我们实际开发过程,带来很多很多便利性,所以个人感觉还是挺具有学习价值。文章介绍的知识点可能比较零散,并没有一个很好的流程感,步骤其实也不复杂,在Eclipse新建项目时即创建Maven Project,然后填入何时的groupID和artifactId等信息,需要使用到什么jar包时即到pom.xml中配置即可。
- MAVEN 的一些简单介绍
- MAVEN 的一些简单介绍
- maven的一些简单介绍
- maven的一些介绍
- maven配置的简单介绍
- CString的一些简单介绍
- 一些函数的简单介绍
- Maven的生命周期(Lyfecycle)的简单介绍
- 关于maven一些简单的知识
- MAVEN基础配置文件的简单介绍
- maven 一些简单应用
- Maven简单介绍
- Maven 简单介绍
- Maven Archetype 简单介绍
- maven简单介绍
- 简单介绍maven命令
- maven简单介绍
- 简单的介绍abap的一些知识
- android Activity类中的finish()、onDestory()和System.exit(0) 三者的区别
- Android Studio 常用快捷键分类整理
- Linux内核源码学习之僵尸进程
- LINUX中查看端口与相应进程
- 最全的 cadence 元器件库详细说明
- MAVEN 的一些简单介绍
- Python 编程语言的发展简史
- sort 和 qsort比较
- ThreadState
- crm提取数据扩展时出错
- Linux操作系统中,*.zip、*.tar、*.tar.gz、*.tar.bz2、*.tar.xz、*.jar、*.7z等格式的压缩与解压
- Longest Palindromic Substring
- Python基础教程(第十章)
- netbeans 控制台输出乱码的解决