为什么要使用Maven? 有哪些用?
Maven的安装配置
Maven项目的目录结构
Maven的三种仓库
Maven的生命周期
pom.xml的作用
依赖的作用域
Maven的目的是什么? 有什么用? 如何使用此工具
Maven安装配置,项目构建,依赖管理(其实就是jar包管理)
用来管理java项目
Maven项目很小,没有jar包。Maven本地仓库里面放置的都是jar包。这个目录是maven的“本地仓库”,仓库是maven中一个很重要的概念。
试想一下,我们会在工作中同时创建很多项目,每个项目可能都会引用一些公用的jar包,一种作法是每个项目里,都复制一份这些依赖的jar包(或dll文件),这样显然不好,相同的文件在硬盘上保存了多份,太占用空间,而且这些依赖的jar包(或dll文件)的版本也不太好管理(比如某个公用的jar包,从1.0升级到2.0,如果所有引用这个jar包的项目都需要更新,必须一个个项目的修改)。
maven的仓库则很好的解决了这些问题,它在每台机器上创建一个本机仓库,把本机上所有maven项目依赖的jar包统一管理起来,而且这些jar包用“坐标”来唯一标识(注:坐标是另一个重要的概念,后面还会讲到,这里只要简单理解成“唯一识别某个jar包文件名、版本号”的标识即可),这样所有maven项目就不需要再象以前那样把jar包复制到lib目录中,整个maven项目看起来十分清爽。
maven项目在编译、测试、打包里,会需要从maven的中央仓库(即:maven组织公布在互联网上的一个站点,里面已经收录了目前绝大多数主流的jar包)下载jar包等文件,如果使用代理服务器上网,需要配置代理服务器。
从maven的中央仓库下载jar包文件。
用命名行创建一个最基本的maven项目
对项目进行编译:编译后会自动在target目录中生成class文件,如果编译成功,会输出类似下面的信息BUILD SUCCESS。
从输出上可以发现,test前,会先执行compile,即先编译,再执行单元测试.
项目打包
通常我们会把java项目打包成jar包或war包,maven中打包的命令为
mvn clean package
运行完后,会在target目录下生成jar包
注:从输出 可以发现,package前,会先执行compile,再执行test,最后才是package打包。
项目部署
告诉maven的配置文件,由maven自己寻找jar包。
创建本地仓库索引,Maven寻找jar包会非常快。
项目一键构建:把java文件编译成class文件,然后放置到target文件夹里,还有资源文件。
Maven能做的事:编译,测试,运行(在tomcat中运行),打包(war包),部署(部署到tomcat中)。
Maven的依赖管理:就是对jar包的统一管理。自动下载相关jar包,统一管理依赖。
Maven的核心功能就是依赖管理和一键构建,应用于大型项目,可提高开发效率(Maven中的分模块开发)。
Maven:项目管理工具,帮我们规范整个组织的构建系统。
两种开发模式:
按照业务模块进行项目开发(订单模块,用户模块等),按照项目分层进行开发(三层,有些人擅长sql,有些人擅长业务)
下载、安装、配置maven软件。下载安装与tomcat没什么区别,解压即可运行。
Maven的核心配置文件
配置成功的标志是mvn -v能够看到maven的版本号。
mvn tomcat :run
修改本地仓库的位置,在maven的核心配置文件中,不需要从互联网上下载依赖了。
本地仓库与中央仓库(maven团队来维护的)。
如果本地仓库没有,就从中央仓库下载到本地仓库。
三种仓库:本地仓库(自己维护) 远程仓库(公司维护) 中央仓库(maven维护)
本地仓库的配置只需要修改setting.xml文件即可。
maven项目的目录结构:
注意上面带红色的目录名,maven项目采用“约定优于配置”的原则,
src/main/java约定用于存放源代码,src/main/test用于存放单元测试代码,
src/target用于存放编译、打包后的输出文件。这是全世界maven项目的通用约定,请记住这些固定的目录结构。主目录和测试目录,配置文件都放到resources目录下。
Maven软件的核心文件(仓库路径),maven项目的核心文件
Maven命令的生命周期:Maven Projects面板
其实就是每个命令有什么用?
1)clean命令:清理编译的target文件。
2)compile命令:编译了主目录的文件,没有编译测试目录的文件。
3)test命令:编译并运行了测试目录,其实是运行了测试方法,主目录不会编译运行。
4)package命令:对项目进行打包,war包或者jar包。
5)install:把项目发布到本地仓库,从项目运行日志里面可以看的到。 install命令执行的时候compile命令,test命令,package命令都执行了。
6)deploy命令:把项目发布到公司服务器上。将最终的包复制到远程的仓库,以便让其他开发人员能够使用。
clean命令让Maven先清理target目录,Maven一般认为项目的输出目录为target,然后执行resource任务,现在为定义项目资源,所以暂时略过,最后执行编译任务!
Clean生命周期与Default生命周期(compile、test、package、install、deploy命令)
命令和生命周期阶段的关系:不同生命周期的命令可以同时执行,比如clean命令和package命令一起执行。
通过maven创建java工程,jar包
通过maven创建web工程,war包
pom.xml文件:
pom.xml这个文件是我们Maven项目的核心文件,POM(Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖。
pom.xml文件包含三部分:1)对项目的介绍,2)项目的依赖管理,3)maven插件(插件也是个依赖,也是jar包)。
如何编辑POM文件,操作到最后一步,去中央仓库(http://search.maven.org)找到对应JAR包的DependencyInformation,添加到POM文件里,即可自动下载依赖包。
Maven坐标:
公司或组织名称,项目或者模块名称,打包方式(根据项目类型决定是打war包还是打jar包)
依赖范围:依赖的作用域。
Compile:记住都需要就可以啦。
Provided:编译时需要,运行时也需要,但是测试时与打包时不需要。servlet-api.jar
Runtime:项目编译时不需要此依赖包,测试时需要,运行时需要,打包时需要。比如数据库驱动包。
Test:项目测试时需要,编译时和运行时不需要此依赖,比如junit.jar包。
新建有Maven管理的java web项目。
项目模板,项目版本号是可以修改的。
使用的是国内的阿里的仓库。下载速度快。
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>;
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
Tomcat的热部署:对tomcat进行配置的时候勾选。
在实际开发中,一般都是debug模式启动的,因为你开发过程中要调试各种代码和bug。


Maven的安装配置
Maven项目的目录结构
Maven的三种仓库
Maven的生命周期
pom.xml的作用
依赖的作用域
Maven的目的是什么? 有什么用? 如何使用此工具
Maven安装配置,项目构建,依赖管理(其实就是jar包管理)
用来管理java项目
Maven项目很小,没有jar包。Maven本地仓库里面放置的都是jar包。这个目录是maven的“本地仓库”,仓库是maven中一个很重要的概念。
试想一下,我们会在工作中同时创建很多项目,每个项目可能都会引用一些公用的jar包,一种作法是每个项目里,都复制一份这些依赖的jar包(或dll文件),这样显然不好,相同的文件在硬盘上保存了多份,太占用空间,而且这些依赖的jar包(或dll文件)的版本也不太好管理(比如某个公用的jar包,从1.0升级到2.0,如果所有引用这个jar包的项目都需要更新,必须一个个项目的修改)。
maven的仓库则很好的解决了这些问题,它在每台机器上创建一个本机仓库,把本机上所有maven项目依赖的jar包统一管理起来,而且这些jar包用“坐标”来唯一标识(注:坐标是另一个重要的概念,后面还会讲到,这里只要简单理解成“唯一识别某个jar包文件名、版本号”的标识即可),这样所有maven项目就不需要再象以前那样把jar包复制到lib目录中,整个maven项目看起来十分清爽。
maven项目在编译、测试、打包里,会需要从maven的中央仓库(即:maven组织公布在互联网上的一个站点,里面已经收录了目前绝大多数主流的jar包)下载jar包等文件,如果使用代理服务器上网,需要配置代理服务器。
从maven的中央仓库下载jar包文件。
用命名行创建一个最基本的maven项目
对项目进行编译:编译后会自动在target目录中生成class文件,如果编译成功,会输出类似下面的信息BUILD SUCCESS。
从输出上可以发现,test前,会先执行compile,即先编译,再执行单元测试.
项目打包
通常我们会把java项目打包成jar包或war包,maven中打包的命令为
mvn clean package
运行完后,会在target目录下生成jar包
注:从输出 可以发现,package前,会先执行compile,再执行test,最后才是package打包。
项目部署
告诉maven的配置文件,由maven自己寻找jar包。
创建本地仓库索引,Maven寻找jar包会非常快。
项目一键构建:把java文件编译成class文件,然后放置到target文件夹里,还有资源文件。
Maven能做的事:编译,测试,运行(在tomcat中运行),打包(war包),部署(部署到tomcat中)。
Maven的依赖管理:就是对jar包的统一管理。自动下载相关jar包,统一管理依赖。
Maven的核心功能就是依赖管理和一键构建,应用于大型项目,可提高开发效率(Maven中的分模块开发)。
Maven:项目管理工具,帮我们规范整个组织的构建系统。
两种开发模式:
按照业务模块进行项目开发(订单模块,用户模块等),按照项目分层进行开发(三层,有些人擅长sql,有些人擅长业务)
下载、安装、配置maven软件。下载安装与tomcat没什么区别,解压即可运行。
Maven的核心配置文件
配置成功的标志是mvn -v能够看到maven的版本号。
mvn tomcat :run
修改本地仓库的位置,在maven的核心配置文件中,不需要从互联网上下载依赖了。
本地仓库与中央仓库(maven团队来维护的)。
如果本地仓库没有,就从中央仓库下载到本地仓库。
三种仓库:本地仓库(自己维护) 远程仓库(公司维护) 中央仓库(maven维护)
本地仓库的配置只需要修改setting.xml文件即可。
maven项目的目录结构:
注意上面带红色的目录名,maven项目采用“约定优于配置”的原则,
src/main/java约定用于存放源代码,src/main/test用于存放单元测试代码,
src/target用于存放编译、打包后的输出文件。这是全世界maven项目的通用约定,请记住这些固定的目录结构。主目录和测试目录,配置文件都放到resources目录下。
Maven软件的核心文件(仓库路径),maven项目的核心文件
Maven命令的生命周期:Maven Projects面板
其实就是每个命令有什么用?
1)clean命令:清理编译的target文件。
2)compile命令:编译了主目录的文件,没有编译测试目录的文件。
3)test命令:编译并运行了测试目录,其实是运行了测试方法,主目录不会编译运行。
4)package命令:对项目进行打包,war包或者jar包。
5)install:把项目发布到本地仓库,从项目运行日志里面可以看的到。 install命令执行的时候compile命令,test命令,package命令都执行了。
6)deploy命令:把项目发布到公司服务器上。将最终的包复制到远程的仓库,以便让其他开发人员能够使用。
clean命令让Maven先清理target目录,Maven一般认为项目的输出目录为target,然后执行resource任务,现在为定义项目资源,所以暂时略过,最后执行编译任务!
Clean生命周期与Default生命周期(compile、test、package、install、deploy命令)
命令和生命周期阶段的关系:不同生命周期的命令可以同时执行,比如clean命令和package命令一起执行。
通过maven创建java工程,jar包
通过maven创建web工程,war包
pom.xml文件:
pom.xml这个文件是我们Maven项目的核心文件,POM(Project Object Model,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖。
pom.xml文件包含三部分:1)对项目的介绍,2)项目的依赖管理,3)maven插件(插件也是个依赖,也是jar包)。
如何编辑POM文件,操作到最后一步,去中央仓库(http://search.maven.org)找到对应JAR包的DependencyInformation,添加到POM文件里,即可自动下载依赖包。
Maven坐标:
公司或组织名称,项目或者模块名称,打包方式(根据项目类型决定是打war包还是打jar包)
依赖范围:依赖的作用域。
Compile:记住都需要就可以啦。
Provided:编译时需要,运行时也需要,但是测试时与打包时不需要。servlet-api.jar
Runtime:项目编译时不需要此依赖包,测试时需要,运行时需要,打包时需要。比如数据库驱动包。
Test:项目测试时需要,编译时和运行时不需要此依赖,比如junit.jar包。
新建有Maven管理的java web项目。
项目模板,项目版本号是可以修改的。
使用的是国内的阿里的仓库。下载速度快。
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>;
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
Tomcat的热部署:对tomcat进行配置的时候勾选。
在实际开发中,一般都是debug模式启动的,因为你开发过程中要调试各种代码和bug。



Maven项目管理
2842

被折叠的 条评论
为什么被折叠?



