栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

maven的基本使用(学习笔记)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

maven的基本使用(学习笔记)

maven的基本使用
  1. 概念
    Maven对项目进行模拟抽象,充分运用面向对象的思想构建项目。Maven可以通过一小段描述信息来管理项目的构建,还提供高级项目管理工具
  2. 作用
    (1) maven对项目的第三方构建(jar包)进行统一管理。向工程添加jar包不需要复制粘贴,通过maven的一小段描述就可以引用jar包
    (2) maven提供一套对项目生命周期管理(从项目开始到项目完成)的标准,开发人员和测试人员统一使用maven进行项目的构建。项目生命周期管理:编译,测试,打包,部署,运行
    (3) maven对工程分模块管理,提高开发效率
  3. Maven的概念模型
    (1) 项目对象模型(Project Object Model),也就是POM对象模型。每个maven工程都有一个pom.xml文件,定义工程所依赖的jar包(一小段描述就写在这里),打包运行方式。
    (2) 依赖管理系统(基础核心)。maven对项目工程所依赖的jar包统一管理规范。注意,现在不叫做导入jar包,而是引入依赖
    (3) maven定义一套项目生命周期。清理,初始化,编译,测试,报告,打包,安装,部署,站点生成
    (4) 一组标准集合(项目目录结构的标识)。maven工程自己标准的工程目录结构(maven对项目的代码目录结构是有要求的)
    (5) maven可以通过插件(扩展功能)进行扩展。例如开发中使用的tomcat插件
  4. maven仓库
    maven将所有的jar包放在仓库里面,我们通过在pom.xml文件中描述一小段文字就可以引用仓库里的jar包
仓库名称作用
本地仓库相当与缓存,工程第一次会从远程仓库(互联网) 去下载jar包,将jar包存在本地仓库(在本地电脑上)。第二次不需要从远程仓库去下载。先从本地仓库找,找不到才会去远程仓库找
中央仓库就是远程仓库,仓库中的jar由专业团队(maven团队)统一维护。中央仓库地址:http://repo1.maven.org/maven2/
远程仓库在公司内部架设一台私服,其他公司架设一台仓库,对外公开
  1. maven坐标
    maven坐标的作用:maven用来确定jar包在仓库里面的位置,坐标可以唯一确定jar包的位置,定位到该jar包
    坐标的定义元素:
    (1) groupId:定义当前Maven项目名称,这是maven仓库里面jar所在位置第一层目录
    (2) artifactId:定义项目模块,这个是maven仓库里面jar所在位置的第二层目录
    (3) version:定义当前项目的当前版本,这是maven仓库里面jar所在位置第三层
    通过以上三层目录就可以定位唯一的一个jar包

    例如:要引入junit的测试jar包,只需要在pom.xml配置文件中配置引入junit的坐标即可

	junit
	junit
	4.12
	test

注意:由以上可得,坐标的每个组成部分都对应仓库里面的一层目录结构,大多数每个组成部分对应一个目录,但是有些groupId项目名字对应多个目录,而模块名字和版本号都只对应一个目录
例如


	javax.servlet    ---对应两个目录/javax/servlet(有n个点就有n+1级目录)
	javax.servlet-api		---对应一个目录/javax.servlet-api
	3.1.0				        ---对应一个目录/3.1.0
	provided

maven生命周期常用命令

项目的声明周期管理就是项目的编译,测试,运行,打包,部署等。项目生命周期的功能都是通过maven里面的mvn命令,具体命令如下

命令说明
mvn clean清除原来的编译结果
mvn compile编译
mvn test运行测试代码 mvn test -Dtest=类名(单独运行测试类)
mvn package打包项目 mvn package -Dmanven.test.skip=true(打包时不执行测试)
mvn install将项目打包并安装到本地仓库
mvn deploy发布到本地仓库或服务器
依赖范围

	junit
	junit
	4.12
	test --------依赖范围,配置test,只有test目录可以使用

依赖范围对于编译classpath有效对于测试classpath有效对于运行时的classpath有效例子
compileYYYspring-core
testNYNjunit
providedYYNservlet-api
runtimeNYYJDBC驱动
systemYYN本地maven仓库之外的类库
编译:指main目录下编译时可用
测试:指test目录下编译时可用
运行:在部署到服务上运行的时候可用

注意:
(1) 满足运行时有效的才会打包到war或jar包
(2) system,不是使用仓库的jar包,而是使用本地文件系统的jar包,需要域systempath一起配合使用,如下


javabuilder
javabuilder
1.0
system
${project.basedir}/src/main/webapp/WEB-INF/lib/javabuilder.jar


像这样把包拷到项目里面,然后指定到项目下面就可以了。

不会打到war,如果运行需要使用,需要手动将jar包拷贝到tomcat/lib下

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1009814.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号