




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Maven学习笔记一、 初识Maven学习maven之前,只知道maven是一个项目管理工具,具体怎么管,能做什么,完全没有概念。来自百度的关于maven的定义:Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。初学时,我们可以简单的把maven当成一个项目构建工具,我自己的理解就是,maven在项目搭建中帮我们省去了大部分花在编译,运行单元测试,打包和部署的这些时间,它可以使这一系列的工作完全自动化。下面学习开始二、 下载与安装1. maven下载地址: /download.html。这个是maven的官网下载地址。我下载的版本是3.0.3。2. 下载后解压,配置环境变量。 和配置jdk的环境变量的方法类似,我的电脑-属性-高级-环境变量。 新建系统变量:M2_HOME,值为解压后目录,例: E:apache-maven-3.0.3。 在path里添加%M2_HOME%bin。3. 检查maven是否安装成功: 打开命令提示符,输入mvn version,查看maven是否安装成功。 出现以上提示表示maven安装成功。4. 了解maven的安装目录。 包含了运行Maven 的mvn 脚本 包含了一个负责创建Maven 运行所需要的类装载器的JAR文件 包含了一个用来自定义你机器上Maven 的一些行为的文件有了一个包含Maven 核心的JAR 文件 包含了一些 Maven 依赖的类库所需要的通告及权限 包含了 Apache Maven 的软件许可证 包含了一些安装指令三、 搭建maven项目本文创建的工程所在的目录是E:mavenDemo。1. 用maven命令创建一个简单的Maven的app项目。在cmd中运行以下命令:该工程的groupId是ce.demo.mvn,那么该工程的源文件会放在Java包ce.demo.mvn中。artifactId是app,那么该工程根目录的名称为app。2. 当第一次执行该命令时,Maven会从central仓库中下载一些文件。这些文件包含插件archetype,以及它所依赖的其它包,耐心等待就可以了。执行成功后应该是这个样子的:3. 执行完毕后,在E:mavenDemo目录下会出现一个app的文件夹。它的目录布局应该是这个样子的:4. 生成的工程里的pom.xml。 4.0.0 ce.demo.mvn app 1.0-SNAPSHOT jar app UTF-8 junit junit 3.8.1 test 5. 创建完成之后,就需要在cmd执行一些命令来验证了。首先进入app目录,执行命令mvn compile。然后会在该目录下发现新生成的目录targetclasses,即编译后的class文件(包括它的包目录)就放在了这里。再执行命令mvn package,在目录target中就会生成app-1.0.jar文件。该文件的全名由如下形式确定:artifactId-version.packaging。最后执行命令mvn install,会将项目jar包安装到本地仓库中,以便其他项目使用。四、 Eclipse构建maven项目1. 安装m2eclipse插件:在eclipse里构建maven项目,首先需要安装m2eclipse。打开Eclipse,在菜单栏中选择Help-Install New Software在Install窗口中点击Work with后面的Add按钮在弹出的Add Site窗口中:Name:m2e,Location:/sites/m2e点击OK按钮在列表中勾选Maven Integration for Eclipse,点击next按钮。勾选所有选项点击Finish按钮,等待安装。安装成功后重新启动eclipse。2. 建立自己的资源库一般情况下,下载的依赖包会自动存放在我的文档里,这样如果重装系统或者C盘出现什么问题,你的资源库就会出问题,以前下过的资源包以后又要重新下载,很麻烦。所以我们最好在别的地方建立自己的资源库,并进行配置。(1) 进入到C:UsersAdministrator这个目录(xp和win7目录结构不一样,反正就是进入到用户文件夹),找到.m2这个文件夹。进去拷贝settings.xml到你想指定的地方,我放到了E:workmaven下。(2) 打开settings.xml,找到 !- localRepository | The path to the local repository maven will use to store artifacts. | | Default: /.m2/repository /path/to/local/repo-下面加一行:E:workmavenrepos(3) 建立repos文件夹。(4) Eclipse里,window-preferences-Maven-User Setting下,修改为E:workmavensettings.xml(5) 再进行编辑后,下载的资源包就会存放到你指定的目录下了。3. 在eclipse里配置maven:(1) 设置m2eclipse插件所关联的Maven程序:选择window-preferences-Maven,在右边选择Add按钮,就会”按钮,就会弹出如下选择Maven安装目录的选择窗口,选中Maven的安装目录,然后点击“确定”按钮:(2) 设置自定义本地仓库:根据上图,找到User Setting,User Settings”节点,将它改为自己刚才设置的setting.xml的路径,如下图所示:4. 创建Maven工程,在菜单栏选择File-New-Other-Maven-Maven Project。5. 点击next,设置工作空间后再点击next,选择maven-archetype-quickstart,快速创建一个Maven的项目(如果创建一个web项目,要选择的是maven-archetype-webapp)。6. 设置GroupId: 项目或组织的唯一标识,ArtifactId:工程名。点击Finish,完成。7. 工程建立完成后的目录结构应该是这样的:五、 Maven的依赖1. 依赖的认识:相信通过以上的学习,已经对Maven有了初步的了解。在构建第一个Maven项目时,已经在pom.xml这个文件中接触到了依赖,因为项目测试中需要依赖junit.jar包,构建项目的时候自动就通过依赖导入了junit.jar。我们可以在Maven的仓库中来查找引入依赖的构件。Maven仓库的地址为:/。我们来看上例中pom.xml中的依赖配置: 依赖会包含基本的groupId, artifactId,version等元素,根元素project下的dependencies可以包含一个或者多个dependency元素,可以声明一个或者多个依赖。(1) groupId,artifactId和version:依赖的基本坐标,对于任何一个依赖来说,基本坐标是最重要的,Maven根据坐标才能找到需要的依赖。(2) type: 依赖的类型,对应于项目坐标定义的packaging。大部分情况下,该元素不必声明,其默认值是jar。(3) scope: 依赖的范围。(4) optional: 标记依赖是否可选。(5) exclusions: 用来排除传递性依赖。2. 依赖范围:(1) compile: 编译依赖范围。如果没有指定,就会默认使用该依赖范围。使用此依赖范围的Maven依赖,对于编译、测试、运行三种classpath都有效。(2) test: 测试依赖范围。使用此依赖范围的Maven依赖,只对于测试classpath有效,在编译主代码或者运行项目的使用时将无法使用此类依赖。典型的例子就是JUnit,它只有在编译测试代码及运行测试的时候才需要。(3) provided: 已提供依赖范围。使用此依赖范围的Maven依赖,对于编译和测试classpath有效,但在运行时无效。典型的例子是servlet-api,编译和测试项目的时候需要该依赖,但在运行项目的时候,由于容器已经提供,就不需要Maven重复地引入一遍。(4) runtime: 运行时依赖范围。使用此依赖范围的Maven依赖,对于测试和运行classpath有效,但在编译主代码时无效。典型的例子是JDBC驱动实现,项目主代码的编译只需要JDK提供的JDBC接口,只有在执行测试或者运行项目的时候才需要实现上述接口的具体JDBC驱动。3. 传递性依赖与排除依赖:有时候我们设置依赖时,比如想引入struts2,就会自动把struts2所依赖的包统统导进来,这就是传递性依赖。有时候这是好事,然而有时候我们不需要其中的一些传递性依赖,或者会引起包与包之间的冲突,我们可以使用exclusions元素声明排除依赖,exclusions可以包含一个或者多个exclusion子元素,因此可以排除一个或者多个传递性依赖。如下例:4. 将本地包导入到仓库:有时网上的依赖包不是特别得全,又或者网络太慢导致有些包下不下来,这是就需要将我们自己本地的包导入到仓库中,再设置依赖的时候根据我们导包时设置的坐标,就可以导入我们自己的jar包到项目中。(1) 在命令行界面输入:mvn install:install-file -Dfile=jar包的路径名称 -DgroupId=坐标 -DartifactId=组名 -Dversion=版本号 -Dpackaging=jar。这里举一个例子,把本地的mypager-1.0-GA.jar导入到仓库:出现以下提示,说明本地包导入成功。(2) 但是注意看,它导入的路径是e:apache-maven-3.0.3lib,也就是说,执行成功后,jar包是导入了Maven的安装目录的lib下。所以我们需要把mypager文件夹拷贝出来到我们自己的本地库里,也就是E:workmavenrepos下。然后在pom.xml里引入的时候,我们就可以这么写: 这一章的内容大部分是网上的讲解,直接看的话肯定不好理解。建议自己搭一个简单的maven工程,在pom.xml里自己设置几个简单的依赖试试,比如写一个mysql的增删改查,你就需要导入mysql的jar包,就需要设置依赖导入啦。然后再接着把项目扩大一点点的引入其他的包。六、 在Eclipse里构建Struts2+Hibernate+Spring项目1. 创建Maven工程就像第四章那样,记得要选择maven-archetype-webapp。这个才是web项目。2. 需要自己创建src/main/resources,项目的配置文件就放在这里。而项目的源代码则放在src/main/java。Web资源:包括html、css、js、jsp、等存放在src-main-webapp下。3. 和构建普通ssh项目一样,创建struts.xml、hibernate.cfg.xml、applicationContext.xml配置文件,修改web.xml等搭建ssh项目必须的工作。4. 接下来就是初学者万分苦恼的工作了依赖的配
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育大数据在招生就业指导中的应用研究
- 如何使用数字化教育平台将学术体验进行变革
- 统编版语文三年级下册第一单元测试题(含答案)
- 2025年天津红桥区高三二模-化学试卷
- 2025年安徽省安庆市岳西县部分学校联考三模化学试卷
- 混合式学习教育技术与传统课堂的融合
- 情感教育心理学塑造学生积极心态
- 心理健康视角下的职场人员发展分析
- 教育技术助力企业竞争力提升的实践案例
- 教育国际化背景下的跨文化交流与合作机制研究
- DBJ∕T 13-261-2017 福建省二次供水不锈钢水池(箱)应用技术规程
- 简历撰写与面试技巧
- GB∕T 16422.3-2022 塑料 实验室光源暴露试验方法 第3部分:荧光紫外灯
- 新建区2018年中小学(幼)教师、特岗教师
- 中国历史地理复习资料
- 05示例:玉米脱粒机的设计(含全套CAD图纸)
- 冷库项目施工组织设计方案
- 年中总结会策划方案
- (最新)污水处理池施工方案
- 肺脓肿护理查房ppt课件
- 我要建一座王宫(正谱)
评论
0/150
提交评论