版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44580977/article/details/95110720
* 统一管理项目所用到的依赖包 * 自动解决第三方组件和maven共同用到jar冲突重复问题 ( 例如 tomcat里自带 jsp,servlet 包 ) * 方便第三方插件的及集成 (不知 * 实现不同项目的兼容性管理 (不知
src/main/java —— 存放项目的.java 文件 src/main/resources —— 存放项目资源文件,如 spring, hibernate 配置文件 src/test/java —— 存放所有单元测试.java 文件,如 JUnit 测试类 src/test/resources —— 测试资源文件 target —— 项目输出位置,编译后的class 文件会输出到此目录 pom.xml——maven 项目核心配置文件 注意:如果是普通的 java 项目,那么就没有webapp 目录
archetype的意思是 骨架,他有多种模板,适应各种项目类型开发 (这是前人实践过的,用起来开发会很高效,这在idea创建 maven最后一步会选择骨架
1,maven-archetype-quickstart * 一个包含junit依赖声明的pom.xml * src/main/java主代码目录及一个名为App的类 * src/test/java测试代码目录及一个名为AppTest的测试用例 2,maven-archetype-webapp (最简单的模板,当需要快速创建一个Web应用的时候可以使用它。 * 一个packaging为war且带有junit依赖声明的pom.xml * src/main/webapp/目录 * src/main/webapp/index.jsp文件 * src/main/webapp/WEB-INF/web.xml文件
1. 方式:通过pom.xml内的标签设置 <modelVersion>4.0.0</modelVersion> //object model版本 一般只能是4.0.0 <packaging>war</packaging> //打包方式jar ,war <name>maven_h</name> // 项目的名称 <groupId>com.okjiaoliu</groupId> //组织的名。一般是网址倒过来写 <artifactId>maven_h</artifactId> //定义了项目在所属组织的标识符下的唯一标识,一个组织下可以有多个项目 <version>1.0-SNAPSHOT</version> //当前项目的版本,SNAPSHOT,表示是快照版本,在开发中release为正式发行版
1.依赖管理 坐标,不处理的结果: 1.工程变大 2.jar重复,maven项目运行,出冲突 2.项目一键构建 * 构建流程: 清理 , 编译 , 测试 , 报告 , 打包 , 部署
1.方式:从互联网搜索 *https://search.maven.org/ *http://mvnrepository.com/
1.什么是依赖范围? * maven项目在构建的几个步骤中使用jar包,通俗讲就是告诉maven什么时候使用该jar包 2.分别有哪些依赖范围? 1. complie 默认的 ,编译,测试,运行 有效 2. test 只在 测试 的时候有效 3. runtime 只对 测试,运行 的时候有效 4. system 使用system访问时,不是maven解析,必须通过systemPath元素指定依赖文件路径, 5.provide : 代表的是容器或则插件已经提供了,如:servlet-api 、jsp-api这些包(编译、测试 有效, 运行时无效, 防止和 tomcat 下 jar 冲突tomcat的servlet jsp包,如果默认complie编译器编译的时候包重复的错误) 5. import 将其他模块定义好的依赖导入进来(和c的inclue差不多 3.依赖由强到弱:compile>provided>runtime>test
1.Maven首次创建初始化要好久我花了20分钟,这是正常现象。 初始化成功后,控制台弹出信息
2.Idea集成 maven 创建项目 初始化后出现的目录结构
刚刚初始化完成的目录结构是这样的,如果要servlet要用注解配置也不能删除web.xml,会无法访问servlet
*开始练习用maven管理项目做基于servlet和jsp的小项目,回顾之前学的知识