标签:信息 字节码 jsp compile 原则 mode 是否有效 速度 pil
1.maven 是什么
maven 是一款服务于java平台的自动化构建工具
Make--->Ant---->Maven-->Gradle
2.什么是构建
概念:以java源文件、框架配置文件、jsp html 图片等资源为原材料,去生产一个可运行的项目过程。
编译
部署
搭建
编译:java源文件-->编译--Class字节码文件--->去交给jvm执行
maven 的核心概念
1.约定的目录结构
2.pom
3.坐标
4.依赖
5.仓库
6.生命周期/插件/目录
7.继承
8.聚合
第一个maven的工程
1.创建的约定的目录结构
根目录:工程名
src目录:源码
pom.xml文件:maven工程的核心配置文件
main目录:存放主程序
test目录:存放测试程序
java目录:存放java源文件
resources目录:存放框架或其他工具的配置文件
为什么要遵守约定目录结构呢?
maven:要负责我们这个项目的自动化构建,以编译为例,maven要想自动进行编译,那么必须知道源文件存放在哪里
常用的maven命令
注意:执行与构建过程相关的maven 命令,必须进入pom.xml所在的目录与构建过程相关:编译、测试、打包、。。。。。
常用的命令
mvn clean:清理
mvn compile:编译
mvn test-compile:编译测试程序
mvn test:执行测试
mvn package:打包
关于联网的问题
1.maven的核心程序中仅仅定义了抽象的周期,但是具体的工作必须由特定的插件来完成
而插件本身并不包含在maven的核心程序中
2.当我们执行的maven命令需要用到某些插件时,maven核心程序首先到本地仓库中查找。
3.本地仓库的位置默认.\m2\repository
4.maven核心程序如果在本地仓库中找不到需要的插件,那么它会自动连接外网到中央仓库下载
5.如果此时无法连接外网,则构建失败
maven 的pom project object model 项目对象模型
dom document object model 文档对象模型
pom.xml对于maven 工程是核心配置文件,与构建过程相关的一切设置都在这个文件中配置
maven的坐标
使用下面三个向量在仓库中唯一定位一个maven工程
groupid:公司或组织域名倒叙+项目名
artifactid:模块名
version:版本
maven工程的坐标与仓库中路径的对应关系
maven仓库
1仓库的分类
本地仓库:当前电脑上部署的仓库目录,为当前电脑上所有maven工程服务
远程仓库:
1.私服:架设在当前局域网环境下,为当前局域网范围内的所有maven工程服务
2.中央仓库:架设在Internet上,为全世界所有maven工程服务
中央仓库镜像:为了分组中央仓库的流量,提升用户访问速度
仓库中保存的内容:maven工程
①maven自身所需要的插件
②第三方框架或工具的jar包
③我们自己开发的maven程序
依赖
①maven解析依赖信息是会到本地仓库中查找被依赖的jar包
对于我们自己开发的maven工程,使用 mvn install命令安装后就可以进入仓库
②依赖的范围
compile范围依赖
对主程序是否有效 有效
对测试程序是否有效 有效
是否参与打包 :参与
是否参与部署:参与
test范围依赖
对主程序是否有效:无效
对测试程序是否有效:无效
是否参与打包:不参与
是否参与部署:不参与
provided范围依赖
对主程序是否有效:有效
对测试程序是否有效:有效
是否参与打包:不参与
是否参与部署:不参与
maven的生命周期:
①.各个构建环节执行的顺序:不能打乱顺序,必须按照既定的正确的顺序执行
clean生命周期
default生命周期
site申明周期
注:非compile的依赖不能传递
依赖的原则
作用:解决模块工程之间jar冲突问题
标签:信息 字节码 jsp compile 原则 mode 是否有效 速度 pil
原文地址:https://www.cnblogs.com/chengxuyuanIng/p/12735328.html