企业Java培训课件之Maven项目管理
Maven常用知识精品PPT课件
![Maven常用知识精品PPT课件](https://img.taocdn.com/s3/m/5c3665c4f242336c1eb95ed0.png)
模块版本号
此模块为父级模块 只能是 pom,意思 可以理解为仅只是 一个配置文件,项 目总配置文件
Maven模块化——子模块pom.xml
子模块pom.xml多 了一个父级标签
自定义该模块类型,如视作为 一个项目依赖则定义为 jar, Maven最终打包时将会把此模 块打成jar包,war包也如此
Maven内部占位符
指定需要复制的路径
常用<plugins>配置——打war包
<bulid> └ <plugins>
指定maven的打war包插件
指定web资源
<profiles>配置
Profiles用于项目入口,如web模块的pom中配置,目的是在打包时选择哪个配置打包
主要配置:
* 配置id
主要填写自定义配置内容,一般用于全局占 位符,如配置开发环境的数据库配置、配置 测试环境的数据库配置、日志路径等等
Maven全局占位符( ${xxx} )
相当于定一个全 局变量,一次定
义全局使用
Maven资源指定及过滤
指定成的war目中的资源
<includes> 包含 <excludes>排除
必须是true资源中的 ${} 占位符才生效
Maven资源指定及过滤
示例: Pom.xml
Log4j.properties
常用<plugins>配置——打jar包
插件配置如下:
更改<packaging>标签为jar
指定main方法
常用<plugins>配置——把jar包打入到单独文件夹
Maven的一个 可提供复制功 能的插件
maven培训
![maven培训](https://img.taocdn.com/s3/m/0c9b19ec0975f46527d3e10a.png)
2010 CIO Outlook
2008 LITB Corporation
Light In The Box Itd.
为什么要使用maven
协同开发的基本规范,为大家提供方便的协作的模式, 协同开发的基本规范,为大家提供方便的协作的模式,能增 加代码的复用,提高生产率。 加代码的复用,提高生产率。 提供方便,规范化的打包方法, 提供方便,规范化的打包方法,是公司完成自动构建系统的 核心部分,能帮助提高敏捷开发的效率( 核心部分,能帮助提高敏捷开发的效率(敏捷开发提倡尽早集 成) 。 减少冗余,减少出错的可能。 减少冗余,减少出错的可能。 中心资源库管理,能减低源码库的大小, 中心资源库管理,能减低源码库的大小,中心资源库可以统 一定期备份。 一定期备份。 目录结构规范,让开发者从一个maven项目过度到另一maven 目录结构规范,让开发者从一个maven项目过度到另一maven maven项目过度到另一 项目很容易。 项目很容易。 大量的开源项目使用了maven。 大量的开源项目使用了maven。 maven
2010 CIO Outlook
2008 LITB Corporation
Light In The Box Itd.
maven和ant的区别1
1.
ant脚本是可以直接运行在maven中的。maven和ant最大的差 ant脚本是可以直接运行在maven中的。maven和ant最大的差 脚本是可以直接运行在maven中的 别就是在于maven的编译以及所有的脚本都有一个基础, maven的编译以及所有的脚本都有一个基础 别就是在于maven的编译以及所有的脚本都有一个基础,就是 POM( model)。 )。这个模型定义了项目的方方 POM(project object model)。这个模型定义了项目的方方 面面,然后各式各样的脚本在这个模型上工作, ant完全是 面面,然后各式各样的脚本在这个模型上工作,而ant完全是 自己定义,显然maven更胜一筹。 maven更胜一筹 自己定义,显然maven更胜一筹。 maven对所依赖的包有明确的定义,如使用那个包,版本是多 aven对所依赖的包有明确的定义,如使用那个包, 对所依赖的包有明确的定义 一目了然。 ant则通常是简单的 则通常是简单的inclde 所有的jar jar。 少,一目了然。而ant则通常是简单的inclde 所有的jar。导 致的最终结果就是,你根本无法确定JBoss中的lib JBoss中的lib下的 致的最终结果就是,你根本无法确定JBoss中的lib下的 common- 是哪个版本的, common-logging 是哪个版本的,唯一的方法就是打开 META 目录下MANIFEST.MF 估计JBoss迟早会转向Maven MANIFEST.MF。 JBoss迟早会转向Maven的 -INF 目录下MANIFEST.MF。估计JBoss迟早会转向Maven的。
轻量级JavaEEWeb框架技术PPT第7章Eclipse中使用Maven
![轻量级JavaEEWeb框架技术PPT第7章Eclipse中使用Maven](https://img.taocdn.com/s3/m/35ad734703020740be1e650e52ea551810a6c984.png)
Java->Installed JREs
7.2 Eclipse中管理Maven项目
7.2.1 7.2.2 7.2.3 7.2.4
打开Maven创建的项目 恢复项目依赖库 一般项目转换为Maven项目 Eclipse中创建maven项目helloapp1
第7章 Eclipse中使用Maven
7.1eclipse中集成Maven 7.2Eclipse中管理Maven项目 7.3管理pom.xml文件
7.1 eclipse中集成Maven
7.1.1 7.1.2 7.1.3 7.1.4
eclipse中安装Maven eclipse中设置Maven eclipse中设置Maven配置文件 更改Java环境为JDK
7.2.5 Eclipse中使用Maven打包
在eclipse中用界面方式执行Maven命令。一般先 用maven clean清除编译打包信息,然后用maven install重新编译打包安装。
Mavin install后项目的目录结构
7.3 管理pom.xml文件
在eclipse中可以以图形方式管理pom.xml文件。 7.3.1 总览pom.xml 7.3.2 图形界面依赖管理 7.3.3 查看依赖关系层次结构 7.3.4 全面查看pom.xml 7.3.5 文本编译页面
Eclipse中内置(EMBEDDED)了Maven,如果在 电脑本地上安装了Maven,可以不用内置的Maven。 选择add按钮,添加本地安装的Maven,进入添加 Maven界面,单击“Directory”按钮,找到本地安 装maven的路径,单击“Finish”按钮,如图7.2所 示。添加本地安装的Maven后,还要勾选使用本地 安装的Maven,这样eclipse才使用本地安装的 Maven
maven管理教程
![maven管理教程](https://img.taocdn.com/s3/m/3ae754110b4e767f5acfceb7.png)
1. Maven 仓库2. 利用Nexus 来构建企业级Maven 仓库3. 小结前面我讲到为什么要使用Maven, Maven的安装,以及如何与IDE集成等,前面的介绍可以认为是一个Hello World,教你如何利用Maven来进行项目开发,如何结合IDE实现一键式DEBUG,从现在开始我们开始深入探讨Maven的一些高级内容。
这一个章节,我分两部分来介绍,首先介绍一下Maven的仓库,然后在说一下如何通过Nexus来建立我们自己的仓库,以及如何使用。
Maven 仓库在以前使用Ant的时候,我们会建立一个lib目录在存放我们的jar包,比如项目所依赖的第三方包,每建立一个项目都要建立一个lib,不停的做copy工作,不仅是对于磁盘的浪费,而且也造成了版本管理上的麻烦。
而且我们还需要通过提交到svn上来对lib进行管理,但是svn对于这种二进制文件的管理并不出色。
Maven仓库的初中就是为了解决这个问题,是所有常用的第三方包的集中营。
这样所有的Maven项目就可以从这个仓库中获取所需要的资源,Maven仓库中对jar通过Group Id, Atifact Id, version 来管理,所以Maven项目可以很方便的进行依赖管理。
你不需要自己来管理这个庞大的资源仓库,当然你可以创建一个公司层面的仓库管理器,这个我在这个章节的后面会介绍。
Maven仓库的两个概念:本地仓库和远程仓库本地仓库是远程仓库的一个缓冲和子集,当你构建Maven项目的时候,首先会从本地仓库查找资源,如果没有,那么Maven会从远程仓库下载到你本地仓库。
这样在你下次使用的时候就不需要从远程下载了。
如果你所需要的jar包版本在本地仓库没有,而且也不存在于远程仓库,Maven在构建的时候会报错,这种情况可能发生在有些jar包的新版本没有在Maven仓库中及时更新。
Maven缺省的本地仓库地址为${user.home}/.m2/repository。
Maven培训教材PPT课件
![Maven培训教材PPT课件](https://img.taocdn.com/s3/m/71a262c4bceb19e8b8f6bab2.png)
2020/2/20
8
依赖
<project> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.2.4.RELEASE</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.5</version> </dependency> <dependency> <groupId>mons</groupId> <artifactId>commons-lang3</artifactId> <version>3.1</version> </dependency>
Maven原理与实践
2020/2/20
1
大纲
• 何为Maven
– 构建,依赖管理,项目信息聚合
• Maven核心概念
– 坐标,依赖,仓库,生命周期,插件
• Maven最佳实践
– 创建、打包、发布、版本管理
• 项目实战
• Nexus(Todo…)
• M2eclipse(Todo…)
JAVA学习之maven的使用
![JAVA学习之maven的使用](https://img.taocdn.com/s3/m/ab06e2d76037ee06eff9aef8941ea76e58fa4a4b.png)
JAVA学习之maven的使⽤场景:最近使⽤springboot写⼀些⼩demo,发现到处都要使⽤maven,更离不开其中的pom.xml⽂件,所以这⾥对maven的常规使⽤作出⼀个整理。
⽂章结构:1. 安装配置maven环境2. maven⽬录结构3. HelloMaven4. 常⽤构建命令5. 使⽤archetype插件⾃动建⽴⽬录6. 坐标&仓库7. ⽣命周期&插件的使⽤8. pom.xml常⽤标签介绍9. maven依赖(范围、传递、冲突)10. 聚合&继承正⽂:1. 安装配置maven环境⾸先,在中下载maven组件。
进⼊官⽹后,在左边菜单找到Download选项,点击进⼊Download页⾯。
当然,我们⾸先要保证JDK安装好。
接下来,要在本地配置好maven的系统环境变量,新建⼀个maven_home的变量,然后在系统变量的path后⾯追加这个maven_home;接着,我们测试下maven安装成功没有(注意,⼀般我们都先安装好JDK,因为maven的命令应该是要借助jdk的):如图所⽰,显⽰了maven的版本信息跟jdk的版本信息,当然,我们也可以使⽤echo 查看下系统环境变量:到这⾥,我们对maven的环境配置就完成了。
其实这是第⼀种,我们下载jar包的形式,不过本⼈是使⽤第⼆种,直接安装eclipse(包含maven)的版本即可,⽐如我安装的版本即是⾃带的maven;接下来只需要配置好本地的系统变量即可。
诶,如果我们想要改变maven的版本呢,我们可以在eclipse当中的preferences当中改变:2. maven项⽬的⽬录结构先在这⾥插⼊⼀点个⼈对maven的理解,我们之前每个项⽬都需要有⾃⼰的jar包,但是这么多jar包很多有相同的,⽽这些jar包⼜是基于项⽬存放的,如果我们跨越项⽬这⼀层,统⼀管理jar包呢,这样不就可以节约很多空间和时间。
《Maven学习基础》课件
![《Maven学习基础》课件](https://img.taocdn.com/s3/m/e0385797185f312b3169a45177232f60ddcce737.png)
Web项目构建
详细说明如何用Maven构建和部 署Web应用程序,包括前端资源 的管理。
Spring项目构建
介绍如何结合Maven构建和管理 基于Spring框架的企业级应用程 序。
Maven的优化和提速
1 Maven的优化策略
学习如何优化Maven构建过程,包括镜像配 置、并行构建和增量编译等。
使用示例
演示如何配置和使用Maven的生命周期和插件,以满足特定的项目需求。
Maven的项目构建
POM文件介绍
学习如何编写POM文件,这是管 理Maven项目的核心配置文件。
父子项目管理
掌握多模块项目的组织方式,实 现代码的复用和管理。
依赖管理
了解如何管理项目的依赖关系, 并正确引入外部库以及版本控制。
2 常见问题及解决ຫໍສະໝຸດ 法探讨常见的Maven问题,如构建缓慢、依赖 冲突等,并提供解决方法。
总结与展望
1 Maven的优缺点
总结Maven的优点和局限性,帮助开发者权衡使用Maven的利弊。
2 未来发展趋势
展望Maven未来的发展,预测可能出现的新特性和趋势。
《Maven学习基础》PPT 课件
# Maven学习基础
技术和工具的选择对学习非常重要。在这个PPT课件中,我们将深入学习 Maven,掌握其基础知识和使用技巧。
什么是Maven
简介
Maven是一个功能强大的项目管理工具,用于构建、发布、管理Java项目。
特点
Maven提供了一套标准化的建议和流程,可以简化项目的构建和维护。
IntelliJ IDEA集成 Maven
展示如何在IntelliJ IDEA中无缝 集成Maven,并进行高效的项 目开发。
java培训ppt课件全套课件ppt
![java培训ppt课件全套课件ppt](https://img.taocdn.com/s3/m/e585b04a4b7302768e9951e79b89680203d86be8.png)
Java中的异常处理机制包括捕获异常(Catch)、抛出异常(Throw)和声明异常(Throw)。
Java多线程编程
新建、就绪、运行、阻塞、终止。
线程具有5种状态
字符串编码
String类支持多种编码格式,如UTF-8、GBK等,可以方便地进行字符串的编码和解码。
ArrayList类是一个动态数组,可以根据需要自动增长和缩小。
动态数组
常用操作
线程安全
ArrayList类提供了添加、删除、查找等常用操作的方法。
ArrayList类不是线程安全的,如果需要在多线程环境下使用,可以考虑使用Vector类。
Java语言特点
Web开发、移动开发、大数据、游戏开发等。
Java应用领域
03
常用工具
Git、Maven、Gradle等在Java开发中的使用。
01
JDK安装与配置
下载和安装JDK,配置环境变量等。
02
集成开发环境(IDE)
Eclipse、IntelliJ IDEA等常用Java IDE的介绍和选择。
Java面向对象编程
面向对象编程(OOP)
一种编程范式,通过使用对象来设计和实现软件系统。
对象
现实世界中的事物在计算机中的表示,具有状态和行为。
类
对象的抽象,定义了对象的属性和方法。
实例
类的具体实例,具有类定义的属性和行为。
02
03
04
01
抽象
定义抽象类或抽象方法,用于规定接口和行为,但不实现具体实现细节。
Maven简介与项目管理
![Maven简介与项目管理](https://img.taocdn.com/s3/m/49a67acb2cc58bd63186bddb.png)
Maven工程的创建
对于只有一个模块的简单项目 ,我们可以直接创建Maven主 工程。 对于需要有多个模块共同协助 的项目,我们可以先创建 maven父工程,然后以添加功 能模块的方式添加子工程。 maven的目录结构
如右图
如何使用maven
maven 配置文件主要集中在pom.xml和settings.xml中
settings.xml对于maven来说相当于全局性的配置,用于所有的项目。 pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。 主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统, 组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素 。
如何运行Maven项目
Maven的运行常用命
compile:编译项目的源代码 testCompile:编译项目的测试代码 install:安装包至本地仓库,以备其他的项目作为依赖使用 package:将编译好的代码打包成可分发的格式:jar、war、ear test:使用合适的单元测试框架运行测试 clean:清理项目
第一部分 第二部分 第三部分 第四部分 第五部分 第六部分
项目管理简介 Maven详细介绍
Hudson详细介绍
Sonar详细介绍 Nexus详细介绍 Ftp详细介绍
什么是Nexus
Nexus 是Maven仓库管理器,用来搭建本地的仓库服务或仓库 代理服务器
SVN
SVN是类似于VSS 和 CVS 的版本管理软件
Hudson
Hudson 是一种革命性的开放源码 CI 服务器。(持续集成服务器)
Maven介绍课件
![Maven介绍课件](https://img.taocdn.com/s3/m/f77ba6256ad97f192279168884868762caaebbe0.png)
03
02
04
6
Maven与Web应用开发
Maven在Web开发中的作用
管理依赖:自动下载和管理Web应用所需的各种库和插件
构建工具:通过Maven的构建生命周期,自动化Web应用的构建和部署过程
测试支持:提供测试框架和工具,支持Web应用的单元测试、集成测试等
持续集成:与持续集成工具(如Jenkins)集成,实现Web应用的持续集成和发布
简化了项目构建、测试、打包、发布等过程
Maven的作用
构建工具:自动化构建、测试、打包、发布等过程
依赖管理:管理项目依赖的jar包,避免版本冲突
插件机制:提供丰富的插件,支持各种功能扩展
标准化:遵循统一的项目结构和构建流程,提高团队协作效率
Maven的特点
依赖管理:自动下载和管理项目所需的依赖库
Maven与Web框架整合
Maven与Spring框架整合:使用Maven管理Spring项目的依赖和构建
Maven与Struts框架整合:使用Maven管理Struts项目的依赖和构建
Maven与Hibernate框架整合:使用Maven管理Hibernate项目的依赖和构建
Maven与MyBatis框架整合:使用Maven管理MyBatis项目的依赖和构建
打包与部署
01
使用Maven构建工具进行项目打包
02
将打包好的项目部署到服务器或云平台
03
配置Maven的settings
04
使用Maven的deploy命令进行部署
05
验证部署是否成功,确保项目正常运行
5
Maven高级特性
多模块项目
什么是多模块项目:由多个相互依赖的模块组成的项目
maven培训(全)
![maven培训(全)](https://img.taocdn.com/s3/m/afba12cfb14e852458fb5786.png)
在Eclipse中创建Maven项目
• 完成后的工程示例
1.src/mian/java 该目录下存放项目的java文件 2.src/mian/resources存放项目的资源文件 3.src/test/java 该目录下存放项目测试用的java文件 4.src/test/resources该目录下存放项目测试用的资源文件
Maven监管项目生命周期
几个重要的过程: create :创建 compile:编译 test: 测试 package:打包 install:安装 deploy: 发布
Maven三大生命周期
• clean: 清理上一次构建生成的文件 • default:定义了真正构建时所需要执行的所有步骤,它是生命周期中 最核心的部分 • site生命周期: 建立和发布项目站点,Maven能够基于POM所包含的 信息,自动生成站点
Maven
主要内容
Maven安装、常用命令 Eclipse下Maven项目开发 坐标与依赖 多模型开发 组合与继承 常用插件 内部仓库使用
Maven安装
• 下载安装包 • 解压安装包
将压缩包解压到本地磁盘某目录中,该目录则称为安装目录。 例如 D:\Program Files\apache-maven-3.5.0 目录结构: bin Maven的运行脚本 boot Maven自己的类装载器 conf 该目录下包含了全局行为定制文件settingl
依赖
• 依赖配置 <dependency> <groupId>……</groupId> <artifactId>……</artifactId> <version>……</version> <classifier>……</classifier> <scope>……</scope> <type>……</type> <systemPath>……</systemPath> <optional>……</optional> <exclusions></exclusions> </dependency> 依赖管理 <dependencyManagement>...</dependencyManagement>
《Maven学习基础》课件
![《Maven学习基础》课件](https://img.taocdn.com/s3/m/2227a04dba68a98271fe910ef12d2af90342a872.png)
本地仓库的路径可以在Maven的配置文件`settings.xml`中指定
03 。
04
Maven的使用
创建Maven项目
安装Maven
确保已正确安装Maven,并将其添加到系统环境变量中。
创建Maven项目
使用命令行或集成开发环境(IDE)中的Maven插件,执行`mvn archetype:generate`命令,选择合适的项目模板,生成Maven项
03
Maven的核心概念
POM(Project Object Model)
01
POM是Maven项目的核心,它是一个XML文件,包
含了项目的所有信息,如项目坐标、依赖、插件等。
02
POM文件通常命名为`pom.xml`,位于项目的根目录
下。
03
POM文件定义了项目的坐标,包括项目组ID、项目
ID、版本号等,这些信息用于唯一标识一个项目。
THANKS
感谢观看
安装Maven
按照下载的安装程序指引,完成Maven的安装过程。
Maven的环境变量配置
设置JAVA_HOME环境 变量
确保JAVA_HOME环境变量指向正确的JDK 安装路径。
配置PATH环境变量
将Maven的bin目录添加到PATH环境变量 中,以便在命令行中直接运行Maven命令
。
Maven的配置文件
05
Maven的常见问题与解决方案
依赖冲突问题
01
依赖冲突是指项目中的不同依赖项之间存在版本冲突,导 致项目无法正常编译或运行。
02
Maven会自动解析项目所需的依赖项,但在多个依赖项 之间可能存在版本冲突。例如,两个库可能都需要使用不 同版本的同一个依赖项,导致类加载错误或方法找不到等 错误。
Maven实战培训
![Maven实战培训](https://img.taocdn.com/s3/m/a510315031126edb6f1a107f.png)
MAVEN测试目录结构
大纲
• 安装、入门 • 生命周期 • 坐标、依赖 • 仓库、私服 • Eclipse插件 • 生源电商平台MAVEN架构
关于<dependencies>坐标配置
• dependencies节点包含多个dependency; • 每个dependency又包含:
大纲
• 安装、入门 • 生命周期 • 坐标、依赖 • 仓库、私服 • Eclipse插件 • 生源电商平台MAVEN架构
MAVEN仓库
• 坐标和依赖是任何构件在MAVEN世界中的 逻辑表达式;
• 构件的物理表示方式是文件,MAVEN通过 仓库来统一管理这些文件;
• 任何构件都是有唯一坐标,根据坐标定义 其在仓库中的唯一存储路径;
• 使用MAVEN后,可方便下载依赖JAR包的源 码,通过DEBUG可自动跟踪源码调试;
MAVEN的目录结构
• bin --包含了mvn的运行脚本,脚本配置java命令;
• boot --只有一个文件,java类加载器;
• conf --包含一个非常重要的文件settings.xml
• lib --Maven运行时需要的java类库;
MAVEN实战培训
富润尚美 信息部 周建文
2016年08月23日
什么是MAVEN
• MAVEN 英文意思“内行、 专家”; • MAVEN 是Apache组织开源项目,是项目管
理工具; • MAVEN 主要服务于Java平台的项目构建、
依赖管理和项目信息管理 • 官网:
可选依赖<optional>
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
Maven基础 Maven关键知识点 pom.xml文件 Maven常用命令
Maven实践
二、Maven关键知识点 2-1
Project:任何您想build的事物,Maven都可以认为它们是工程。 这些工程被定义为工程对象模型(POM,Poject Object Model)。 一个工程可以依赖其它的工程;一个工程也可以由多个子工程构 成。 POM:POM(pom.xml)是Maven的核心文件,它是指示Maven如 何工作的元数据文件,类似于Ant中的build.xml文件。POM文件 位于每个工程的根目录中。
5
一、使用Maven的好处 1-4
持续集成:鼓励开发者积极提交代码,更早地发现程序错 误,在并行开发中稳妥推进。 开发协作:更简单和谐的团队协作
6
一、Maven的安装配置 1-5
机器安装JDK5以上,并配置好环境变量。 下载Maven,解压,配置环境变量:
增加M2_HOME指向D:\apache-maven-3.1.1 把%M2_HOME%\bin变量加入Path变量 查看Maven是否安装成功(cmd下):
7
一、Maven的安装配置 1-6
配置Eclipse的http代理:
Eclipse官方Kepler版本自带M2Eclipse插件:
Eclipse中打开Maven视图:
8
一、Maven的安装配置 1-7
Eclipse里设置Maven安装的路径和settings.xml文件: Eclipse对Maven工程的支持:
Dependency:为了能够build或运行,一个典型的Java工程会依 赖其它的包。在Maven中,这些被依赖的包就被称为dependency。 dependency一般是其它工程的artifact。
Plug-in:Maven是由插件组织的,它的每一个功能都是由插件 提供的。插件提供goal(类似于Ant中的target),并根据在POM中 找到的元数据去完成工作。主要的Maven插件要是由Java写成 的,但它也支持用Beanshell或Ant脚本写成的插件。
14
二、Maven关键知识点 2-4
项目生命周期
几个重要的过程: compile:编译 test: 测试 package:打包 install:安装 deploy: 发布
15
二、Maven关键知识点 2-5
串讲:类和对象
远程公用仓库:
Maven内置了远程公用仓库:/maven2 这个公共仓库是由Maven自己维护,里面有大量的常用类库, 并包含了世界上大部分流行的开源项目构件。目前是以java为 主。
test/java
码
${basedir}/src/ 测试使用的资源文件 main/resources
二、Maven关键知识点 2-3
概念:是一系列构建工具的集合 pom.xml:项目对象模型(Project
Object Model,POM) 约定大于配置:Maven项目约定 目录如右图
Maven坐标:groupId:artifactId:version,唯一确定一个项目
Maven是面向技术层面,针对Java开发项目管理工具,它 提供了构建工具所提供功能的超集,除了构建功能之外, Maven还可以管理项目结构、管理依赖关系、生成报告、 生成Web站点、有助于团队成员之间的交流与协作。
3
一、Maven概念模型 1-2
4
一、使用Maven的好处 1-3
指导开发:提供了Java项目的最佳开发实践,自由开发项 目骨架而可自动生成项目结构。 自动编译:不仅仅只像Ant自动编译,还包括测试,打包, 发布,文档生成,项目站点生成…… 依赖管理:Maven可以方便地管理应用程序依赖,例如第 三方依赖、模型依赖 无限扩展:插件模式可以无限增强Maven功能,例如通过 Tomcat、Jetty插件可以自由控制其服务器。
GroupId:groupId是一个工程的在全局中唯一的标识符,一般 地,它就是工程名。groupId有利于使用一个完全的包名,将一 个工程从其它有类似名称的工程里区别出来。
11
二、Maven关键知识点 2-2
Artifact:artifact 是工程将要产生或需要使用的文件,它可以是 jar文件,源文件,二进制文件,war文件,甚至是pom文件。每 个artifact都由groupId和 artifactId组合的标识符唯一识别。需要 被使用(依赖)的artifact都要放在仓库(见Repository)中,否则 Maven无法找到 (识别)它们。
第五讲 Maven项目管理
目录
Maven基础 Maven关键知识点 pom.xml文件 Maven常用命令
Maven实践
一、Maven介绍 1-1
Maven是一个项目管理工具,它包含了一项目对象模型 (Project Object Model),一组标准集合,一个项目生命周 期(Project Lifecycle),一个依赖管理系统(Dependency Manangement System),和用来运行定义在生命周期阶 段中插件目标的逻辑。
内部中心仓库:
也称私有共享仓库(私服)。一般是由公司自己设立的,只为本 公司内部共享使用。它既可以作为公司内部构件协作和存档, 也可作为公用类库镜像缓存,减少在外部访问和下载的频率。
16
二、Maven关键知识点 2-6
串讲:类和对象
本地仓库:
Maven会将工程中依赖的构件(Jar包)从远程下载到本机一个目 录下管理,通常默认在$user.home/.m2/repository下。 修改本地库位置:在$M2_HOME/conf/setting.xml文件的 <localRepository>元素中指定路径,例如: <localRepository>D:/my_repository</localRepository>
12
二、Maven关键知识点 2-
存放pom.xml和所有子目 录
${basedir}/src/ main/java
项目的java源代码
${basedir}/src/ main/resources
项目的资源文件
${basedir}/src/ 项目测试类,比如JUnit代