Maven(妹文) 用于自动化构建项目
1. 目前的技术在开发中存在的问题
1 .一个项目就是一个工程
2. 项目中需要的jar包必须手动“复制”、“粘贴”到WEB-INF/lib目录下
3. jar包需要别人替我们准备好,或到官网下载
4. 一个jar包依赖的其他jar包需要自己手动加入到项目中
2.构建
[1]概念:以“Java源文件”、“框架配置文件”、“JSP”、“HTML”、“图片“等资源为“原材
料”,去“生产”一个可以运行的项目的过程。
包括三个过程:
-编译
-部署
-搭建
[2]编泽:Java源文件[User.java]一编泽一Class字节码文件[User.class]一交给/VM去执行
[3]部署:一个BS项目最终运行的并不是动态Web工程本身,而是这个动态Web工程“编译的结果”
(注!!!!:工程源文件目录 和 编译结果目录的对应关系,实际上没有了src目录,路径要以编译后的绝对路径)
生的鸡一处理一熟的鸡
动态Web工程一编译、部署一编泽结果
Tips:运行时环境
JRE System Library [idk1.7.0_07]
ml.Apache Tomcat v6.0 [Apache Tomcat v6.0]
其实是一组jar包的引用,并没有把jar包本身复制到工程中,所以并不是目录。
标题3.构建过程中的各个环节
[1]清理:将以前编译得到的旧的class字节码文件删除,为下一次编译做准备
2]编译:将Java源程序编程成class字节码文件
3测试:自动测试,自动调用junit程序
4]报告:测试程序执行的结果
5]打包:动态Web工程打war包,Java工程打jar包
[6]安装:Maven特定的概念——将打包得到的文件复制到“仓库”中的指定位置
[7]部署:将动态Web工程生成的war包复制到Servlet容m的指定目录下,使其可以运行
标题4.第一个Maven工程
①创建约定的目录结构
[1]根目录:工程名
2]src目录:源码
3]pom.xml文件:Maven工程的核心配置文件
4]main目录:存放主程序
5]test目录:存放测试程序
6Jjava目录:存放Java源文件
7]resources目录:存放框架或其他工具的配置文件
②为什么要遵守约定的目录结构呢?
。Maven要负责我们这个项目的自动化构建,以编译为例,Maven要想自动进行编译,那么它必须知道Java源文件保存在哪里。如果我们自己自定义的东西想要让框架或工具知道,有两种办法
·以配置的方式明确告诉框架
·遵守框架的的定
(最优或者难度 约定>配置>编码)