IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Maven -> 正文阅读

[Java知识库]Maven

简介

  • 无论瀑布式开发,敏捷式开发 都适合
  • 主要服务基于java平台的项目构建,依赖管理和项目信息管理
    • 项目构建:Maven可以帮助我们自动化构建过程,从清理,编译,测试,生成报告,打包,部署的过程,Maven只需一条指令(mvn clean install),Maven 可以完成执行
    • 有了Maven后,所有项目的构建都是一致的,有利于项目的标准化
    • Maven 跨平台,提供了一致的接口
    • Maven提供了中央仓库,能够让我们自动下载构件(Maven为java类库世界提供了坐标,可以通过坐标定位到任何一个jar包)

项目构建工具

  • Ant构建: 最早
  • Maven 构建:
    - 第一次支持了从网上下载的功能(不需要手动添加jar包,只需放下载链接即可),采用xml配置格式,专注依赖管理
  • Gradle:
    • 继承了Ant的灵活和Maven的生命周期管理,被google作为了Android管理工具,区别不采用xml配置文件格式,采用DSL格式,脚本更加简洁

Maven的四大特性

依赖管理系统

  • 为java 引入了一个新的依赖管理系统jar包管理,jar包(由 groupid,artifactid,version组成的,可以唯一的标识一个依赖)
  • groupid 定义当前Maven项目隶属的实际项目-公司名称,由于Maven中模块的概念,因此一个实际项目往往被分成很多模块,比如Spring是一个实际项目,对应的Maven模块有很多,如Spring-core,Spring-webmvc等
  • artifactid : 该元素定义项目中的一个实际项目名,使用实际项目名作为 artifactid 的前缀,如spring-bean,spring-mvc等
  • version:定义maven项目所处的版本

多模块构建

  • dao,service,controller将项目分解为多个模块

一致的项目结构

  • Maven在设计之初,制定了一套项目目录结构作为标准的java项目结构,解决不同ide带来的目录文件不一致的问题

一致的构建模型和插件机制

Maven的安装配置以及目录结构

Maven的安装配置

  • 检查JDK版本
    • JDK版本必须1.7以上版本
  • 下载Maven
  • 环境变量设置
    • 在这里插入图片描述
    • 在这里插入图片描述
  • cmd 中检查
    在这里插入图片描述

认识Maven目录结构

  • Maven 项目录结构
目录目的
根目录存放pom.xml 和所有 子目录
根目录/ src / main /java项目的java源代码
根目录/src/ main/ resources项目的资源,如 property 文件
根目录/ src / test/ java项目的测试集,如Junit代码
根目录/src/test/resources测试使用的资源

~/.m2

  • ~ 指用户目录
  • 在cmd中运行,mvn help:system ,执行后所有的Maven构建都会被下载待到此文件的respository文件下
    在这里插入图片描述
  • 上述会下载到c盘
  • 修改maven->conf->setting.xml 文件 默认下载位置和 下载源
    在这里插入图片描述
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-09-19 07:51:35  更:2021-09-19 07:52:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:39:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码