JavaEE高级-Maven学习笔记
Maven简介
1、Maven是一款服务于Java平台的自动化构建工具。
2、构建:
- 概念:以“Java源文件”、“框架配置文件”、“JSP”、“HTML”、“图片”等资源为“原料”,去“生产”一个可以运行的项目的的过程
- 编译:Java源文件【User.java】->编译->Class字节码文件【User.class】->交给JVM去执行
- 部署:一个BS项目最终运行的并不是动态Web工程本身,而是这个动态Web工程的“编译结果”
3、构建过程中的各个环节
- 清理:将以前编译得到的旧的class字节码文件删除,为下一次编译做准备
- 编译:将Java源程序编译成class字节码文件
- 测试:自动测试,自动调用junit程序
- 报告:测试程序执行的结果
- 打包:动态Web工程打war包,Java工程打jar包
- 安装:Maven特定的概念,将打包得到的文件复制到“仓库”中的指定位置
- 部署:将动态Web工程生成的war包复制到Servlet容器的指定目录下,使其可以运行
4、自动化构建
安装Maven核心程序
1、检查JAVA_HOME环境变量
2、解压Maven核心程序的压缩包,放在一个非中文无空格路径下
3、配置Maven相关的环境变量
M2_HOME
path
4、运行mvn -v 命令查看Maven版本
Maven的核心概念
1、约定的目录结构
2、POM
3、坐标
4、依赖
5、仓库
6、生命周期/插件/目标
7、继承
8、聚合
第一个Maven工程
1、创建约定的目录结构
根目录:工程名
src目录:源码
pom.xml文件:Maven工程的核心配置文件
main目录:存放主程序
test目录:存放测试程序
java目录:存放Java源文件
resources目录:存放框架或其他工具的配置文件
常用Maven命令
注:执行与构建过程相关的Maven命令,必须进入pom.xml所在的目录
常用命令:
mvn clean:清理
mvn compile:编译主程序
mvn test-compile:编译测试程序
mvn test:执行测试
mvn package:打包
mvn install:安装
mvn site:生成站点
POM
1、含义:Project Object Model项目对象模型
2、pom.xml对于Maven工程是核心配置文件,与构建过程相关的一切设置都在这个文件中进行配置
坐标
1、数学中的坐标
2、Maven中的坐标
使用下面三个向量在仓库中唯一定位一个Maven工程
groupid:公司或组织域名倒叙+项目名
artifactid:模块名
version:版本
仓库
1、仓库的分类
本地仓库:
远程仓库:
- 私服:架设在当前局域网环境下,为当前局域网范围内所有Maven工程服务
- 中央仓库:架设在Internet上,为全世界所有Maven工程服务
- 中央仓库镜像:分担中央仓库的流量,提升用户访问速度
2、仓库中保存的内容:Maven工程
- Maven自身所需要的插件
- 第三方框架或工具的jar包
- 我们自己开发的Maven工程
依赖
1、Maven解析依赖信息时会到本地仓库中查找被依赖的jar包
- 对于我们自己开发的Maven工程,使用mvn install命令安装后就可以进入仓库
2、依赖的范围
- compile范围依赖:对主程序、测试程序都有效、参与打包
- test范围依赖:对主程序无效、对测试程序有效、参与打包
- provided范围依赖:对主程序、测试程序有效、不参与打包、不参与部署
生命周期
1、各个构建环节执行的顺序:不能打乱顺序,必须按照既定的正确顺序来执行
2、Maven的核心程序中定义了抽象的生命周期,生命周期中各个阶段的具体任务是由插件来完成的
3、Maven核心程序为了更好的实现自动化构建,按照以下特点执行生命周期中的各个阶段:
即无论要执行生命周期中的哪一个阶段,都从这个生命周期最初的位置开始执行
4、插件和目标
- 生命周期的各个阶段仅仅定义了要执行的任务是什么
- 各个阶段和插件的目标是对应的
- 相似的目标由特定的插件来完成
在Eclipse中使用Maven
1、Maven插件:Eclipse内置
2、Maven插件的设置
- installations:指定Maven核心程序的位置。
- user settings:指定conf/settings.xml的位置,进而获取本地仓库的位置
JavaEE高级-Maven学习笔记的更多相关文章
- JavaEE高级-SpringMVC学习笔记
*SpringMVC概述 - Spring为展示层提供的基于MVC设计理念的优秀Web框架,是目前最主流的MVC框架之一 - Spring3.0后全面超越Struts2,成为最优秀的MVC框架 - S ...
- JavaEE高级-MyBatisPlus学习笔记
第 1 章 简介 1.1 MyBatisPlus 介绍 -MyBatis-Plus(简称 MP),是一个 MyBatis 的增强工具包,只做增强不做改变. 为简化开发工作.提高生产率而生我们的愿景是成 ...
- JavaEE高级-MyBatis学习笔记
一.MyBatis简介 - MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架. - MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集. - My ...
- JavaEE高级-Spring学习笔记
*Spring是什么? - Spring是一个开源框架 - Spring为简化企业级应用开发而生.使用Spring可以使简单的JavaBean实现以前只有EJB才能实现的功能 - Spring是一个I ...
- JavaEE高级-JPA学习笔记
*JPA概述 *JPA是什么? - Java Persistence API :用于对象持久化的API - Java EE 5.0平台标准的ORM规范,使得应用程序以统一的方式访问持久化层 - JPA ...
- JavaEE高级-Struts2学习笔记
Struts2是一个用来来发MVC应用的框架,它提供了Web应用程序开发过程中一些常见问题的解决方案: - 对来自用户的输入数据进行合法的验证 - 统一的布局 - 可扩展性. - 国际化和本地化 - ...
- JavaEE高级-Hibernate学习笔记
*什么是Hibernate? > 一个框架 > 一个Java领域的持久层框架 > 一个ORM框架 *对象的持久化 > 狭义的理解:“持久化”仅仅指把对象永久保存到数据库中 &g ...
- Maven学习笔记—仓库
Maven仓库 1 什么是Maven仓库 在Maven中,任何一个依赖.插件或者项目构建的输出,都可以成为构件,而Maven通常在某个位置统一的存储所有Maven项目共享的构件,这个统一的位置就是Ma ...
- Maven学习笔记-03-Eclipse下maven项目在Tomcat7和Jetty6中部署调试
现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...
随机推荐
- 【Python】学习笔记五:缩进与选择
Python最具特色的用缩进来标明成块的代码 缩进 i = 4 j = 2 if i > j: i = i+1 print(i) 这是一个简单的判断,Python的if使用很简单,没有括号等繁琐 ...
- [LeetCode]-011-Longest Common Prefix
Write a function to find the longest common prefix string amongst an array of strings. []=>" ...
- spring cloud:gateway-eureka-filter
Spring Cloud Gateway 的 Filter 的生命周期不像 Zuul 的那么丰富,它只有两个:“pre” 和 “post”. PRE: 这种过滤器在请求被路由之前调用.我们可利用这种过 ...
- git reset --hard 操作后的数据恢复
在进行正文之前先简单介绍下git reset 命令 git reset git reset 命令用于改变当前的仓库状态,简单的场景用例:假设一次修改了两个文件,然而需要对这两个文件分别进行两次提交,在 ...
- VS2008重置默认环境
Microsoft Visual Studio 2008 -> Visual Studio Tools -> Visual Studio 2008命令提示 进入Common7\IDE,然后 ...
- Vue知识整理12:事件绑定
采用v-on命令进行事件的绑定操作,通过单击按钮,实现按钮文字上数值的增加 带参数的事件过程 可以添加$event事件,实现事件信息的获取
- k8s架构
master节点 k8s的集群由master和node组成,节点上运行着若干k8s服务. master节点之上运行着的后台服务有kube-apiserver .kube-scheduler.kube- ...
- SAP简介
1. 什么是SAP SAP的英文全名为System Application and Products in Data Processing.SAP既是公司名称,又是其产品的软件名称. 2. SAP的诞 ...
- CDS究竟是个什么鬼?它直接导致了次贷危机?
周五,中国银行间市场交易商协会就确认了这一消息,信用违约互换(CDS)和信用联结票据(CLN)业务指引在今日正式发布实行. 当然,这则消息在中国普通投资者当中还没引起足够关注,但是在很多人看来CDS这 ...
- 6.824 Lab 3: Fault-tolerant Key/Value Service 3B
Part B: Key/value service with log compaction Do a git pull to get the latest lab software. As thing ...