前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >maven入门基础学习

maven入门基础学习

作者头像
多凡
发布2019-11-01 09:43:25
7760
发布2019-11-01 09:43:25
举报
文章被收录于专栏:sringboot

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_44580977/article/details/95110720

一、maven概念

1.maven是什么?
  • 项目管理工具,管理jar,有一个仓库
2.maven有什么用?

* 统一管理项目所用到的依赖包 * 自动解决第三方组件和maven共同用到jar冲突重复问题 ( 例如 tomcat里自带 jsp,servlet 包 ) * 方便第三方插件的及集成 (不知 * 实现不同项目的兼容性管理 (不知

二 、 maven目录

1.目录结构
  • 项目下目录第一层目录结构
在这里插入图片描述
在这里插入图片描述
  • src下的目录结构
在这里插入图片描述
在这里插入图片描述

src/main/java —— 存放项目的.java 文件 ​ src/main/resources —— 存放项目资源文件,如 spring, hibernate 配置文件 ​ src/test/java —— 存放所有单元测试.java 文件,如 JUnit 测试类 ​ src/test/resources —— 测试资源文件 ​ target —— 项目输出位置,编译后的class 文件会输出到此目录 ​ pom.xml——maven 项目核心配置文件 ​ 注意:如果是普通的 java 项目,那么就没有webapp 目录

三 、 maven的Archetype原型

1.Archetype是什么?

archetype的意思是 骨架,他有多种模板,适应各种项目类型开发 (这是前人实践过的,用起来开发会很高效,这在idea创建 maven最后一步会选择骨架

2.常用的Archetype骨架

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文件

四 、 maven工作原理

1.maven项目如何找到依赖包呢?
  1. 方式:通过pom.xml里手动配置坐标找到依赖包 <groupId>javax.servlet</groupId> //组织的名。一般是网址倒过来写 <artifactId>javax.servlet-api</artifactId> //jar名字 <version>3.1.0</version> //版本号 <scope>provided</scope>
2.maven项目如何控制?

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为正式发行版

3.maven两大优点

1.依赖管理 坐标,不处理的结果: 1.工程变大 2.jar重复,maven项目运行,出冲突 2.项目一键构建 * 构建流程: 清理 , 编译 , 测试 , 报告 , 打包 , 部署

maven常见问题

1.maven项目坐标不知道怎么办?

1.方式:从互联网搜索 *https://search.maven.org/ *http://mvnrepository.com/

2.maven项目中jar的依赖范围scope?

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

2.maven项目在IDEA中遇到的坑

1.Maven首次创建初始化要好久我花了20分钟,这是正常现象。 初始化成功后,控制台弹出信息

2.Idea集成 maven 创建项目 初始化后出现的目录结构

刚刚初始化完成的目录结构是这样的,如果要servlet要用注解配置也不能删除web.xml,会无法访问servlet

*开始练习用maven管理项目做基于servlet和jsp的小项目,回顾之前学的知识

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/07/10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、maven概念
    • 1.maven是什么?
      • 2.maven有什么用?
      • 二 、 maven目录
        • 1.目录结构
        • 三 、 maven的Archetype原型
          • 1.Archetype是什么?
            • 2.常用的Archetype骨架
            • 四 、 maven工作原理
              • 1.maven项目如何找到依赖包呢?
                • 2.maven项目如何控制?
                • 3.maven两大优点
                • maven常见问题
                  • 1.maven项目坐标不知道怎么办?
                    • 2.maven项目中jar的依赖范围scope?
                      • 2.maven项目在IDEA中遇到的坑
                      相关产品与服务
                      项目管理
                      CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档