maven项目结构图_项目构建工具

maven项目结构图_项目构建工具项目管理构建工具——Maven(基础篇) 在前面的内容中我们学习了JDBC并且接触到了jar包概念 在后面我们的实际开发中会接触到很多jar包,jar包的导入需要到互联网上进行就会导致操作繁琐 Mav

项目管理构建工具——Maven(基础篇)

项目管理构建工具——Maven(基础篇)

在前面的内容中我们学习了JDBC并且接触到了jar包概念

在后面我们的实际开发中会接触到很多jar包,jar包的导入需要到互联网上进行就会导致操作繁琐

Maven在解决了jar包导入繁杂问题的同时,也提供了一套通用的管理和构建Java项目的一系列操作

Maven简介

Apache Maven是一个项目管理和构建工具,

它是基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建,报告和文档。

简单来说:Maven是专门用来管理和构建Java项目的工具

Maven的主要功能

  1. 提供了一套标准化的项目结构

maven项目结构图_项目构建工具

Maven提供了一套标准化的项目结构,所有IDE使用Maven构建的项目结构完全相同,所有IDE创建的Maven项目都可以通用

  1. 提供了一套标准化的构建流程(编译->测试->打包->发布)

maven项目结构图_项目构建工具

Maven提供了一套简单的命令来完成项目构建

  1. 提供了一套依赖管理机制

原有流程如图:

image-20220906202057978

Maven流程如图:
maven项目结构图_项目构建工具

依赖管理其实就是管理你项目所依赖的第三方资源(jar包,插件)

Maven模型与介绍

具体模型如下:

maven项目结构图_项目构建工具

Maven模型相关介绍:

  • 我们使用各类插件来进行生命周期的构建
  • 项目对象模型POM类似于我们的项目本体
  • pom.xml是我们的POM使用指南,我们从pom.xml获得相关指令并进行操作
  • 依赖管理模型Dependency主要负责jar包的导入

三种仓库介绍:

Maven仓库分为三种:本地仓库,远程仓库(私服),中央仓库。

  1. 本地仓库:

    自己计算机上的仓库,用来存储已经使用过的jar包

  2. 远程仓库:

    常常属于团队创建的仓库,属于公司财产

  3. 中央仓库:

    由Maven团队维护的私有仓库

当我们需要引入jar包时:

  • 引入顺序:本地仓库 -> 远程仓库 -> 中央仓库

  • 当我们前面的仓库无法满足,就向后面仓库进行查询,并且在找到之后,自动复制给前面仓库

Maven安装与配置

Maven安装流程如下:

  1. 官网下载Maven

    官网地址:Maven – Welcome to Apache Maven

  2. 配置环境

​ 在电脑高级设置中:

​ 系统变量配置:MAVEN_HOME 地址

​ PATH:%MAVEN_HOME%in

  1. 检查安装是否成功

​ 在cmd中进行检测:mvn -version

​ 如果有显示内容,即为成功安装Maven

Maven配置流程如下:

  1. 在Maven的下载地址中找到conf中的setting.xml并打开:
  2. 本地仓库设置:
找到如下注释:

<!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->

在后面加上:
<localRepository> 本地仓库地址 </localRepository>
  1. 阿里云下载路径设置:
找到如下注释:

  <mirrors>
    <!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     |
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
     -->
  </mirrors>

在内部写入:

    <mirror>
      <id>aliyun</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven</name>
      <url> 阿里云下载地址(这里可能会更改,上网搜索即可) </url>
    </mirror>

Maven基本使用

Maven的基本使用只包含五种:

  • compile:编译
  • clean:清理
  • test:测试
  • package:打包
  • install:安装

我们常常在IDEA中使用,实际上cmd中也可以使用,但是不常用,所以这里不做解释,我们会在后续IDEA中进行操作

Maven生命周期

Maven生命周期概念:

  • 指一次构建过程经理了多少事件

Maven生命周期大致分为三套:

  1. clean:清理工作

maven项目结构图_项目构建工具

  1. default:核心工作(编译,测试,打包,安装等)

maven项目结构图_项目构建工具

  1. site:产生报告,发布站点等

maven项目结构图_项目构建工具

同一生命周期内,执行后面的命令,前面的所有命令都会自动执行!

IDEA配置并使用Maven

首先我们需要在IDEA中配置Maven环境:

  1. 选择IDEA的File中的Setting
  2. 搜索Maven
  3. 设置IDEA使用本地安装的Maven,并且修改配置文件路径

然后我们介绍一下IDEA创建Maven项目:

  1. 创建模块,选择Maven
  2. 填写模块名称,坐标信息,点击finish,即创建完成

最后我们了解一下导入Maven项目:

  1. 在我们的编程页面(Java程序)点击右侧Maven面板,点击+号
  2. 选中对应的pom.xml文件,双击即可
  3. 如果没有Maven面板,在 View->Appearance->Tool Window Bars 中进行调出

Maven坐标

我们在创建了IDEA项目之后,我们会得到一个pom.xml文件

在里面我们会看到如下的一些代码:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    
    <!--  
	请注意这部分!!!!
  	这部分就属于Maven的坐标
	-->
    <groupId>org.example</groupId>
    <artifactId>untitled</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
    
    <!-- 这部分用来导入新的jar包 -->
    
    <!-- dependencies属于jar包导入的整体包含部分 -->
	<dependencies>
        
        <!-- dependency属于单个jar包导入的代码 -->
        <dependency>
            <groupId></groupId>
            <artifactId></artifactId>
        </dependency>
        
    </dependencies>

</project>

坐标定义:

  • Maven坐标是资源的唯一标识
  • 使用坐标来定义项目或引入项目中需要的依赖

坐标主要组成成分:

  • groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如com.tengxun)

  • artifactld:定义当前Maven项目名称(通常是模块名称)

  • version:定义当前项目版本号

依赖管理

依赖管理就是在pom.xml中的dependencies部分导入jar包

具体步骤如下:

  1. 在pom.xml中编写dependencies标签
  2. 在dependencies标签中,使用dependency引入坐标
  3. 定义坐标的groupId,artifactId,version
  4. 点击刷新按钮,使坐标生效

快捷键:Alt + Insert,选择Dependency,并选择相对应坐标即可

依赖范围

依赖管理的dependency中的属性不仅仅包括groupId,artifactId,version

还包含scope属性,用于控制jar包的作用范围:编译环境,测试环境,运行环境

我们通过表格的形式进行介绍:

依赖范围 编译classpath 测试classpath 运行classpath 例子
compile Y Y Y logback
test Y Junit
provided Y Y servlet-api
runtime Y Y jdbc驱动包
system Y Y 存储在本地的jar包
import


默认值:compile

结束语

好的,关于Maven的基本内容我们就介绍到这里!

附录

上述内容属于学习内容,主要学习于B站黑马程序员老陈的JavaWeb课程

这里附上链接:01-Maven概述_哔哩哔哩_bilibili

原文地址:https://www.cnblogs.com/qiuluoyuweiliang/archive/2022/09/07/16664061.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/4809.html

(0)
上一篇 2023-06-04
下一篇 2023-06-04

相关推荐

  • 37-SQLServer的审核/审计功能介绍「建议收藏」

    37-SQLServer的审核/审计功能介绍「建议收藏」 一、总结 1、SQLServer2008开始支持审计功能,审计规范分为服务器级别和数据库级别两种; 2、无论是服务器级别的审计还是数据库级别的审计,第一步创建审计对象的方式一样,最后创建完都…

    2023-03-26
    140
  • impala jdbc连接_db2 jdbc

    impala jdbc连接_db2 jdbc首先要引入ImpalaJDBC41.jar包。可以网上找,也可以直接下面的地址下载。 链接:https://pan.baidu.com/s/1MTJ0Wn1pwEmtXwp-_E4gIw 提取码:j…

    2023-02-10
    175
  • mysql用来创建数据库对象的命令_hive数据导入到mysql

    mysql用来创建数据库对象的命令_hive数据导入到mysql#!/bin/bash ################################# # 从数据库读取数据表, # # 并使用php think 命令批量创建模型 # ############…

    2023-01-27
    156
  • Oracle学习笔记二十:游标的简介和使用「终于解决」

    Oracle学习笔记二十:游标的简介和使用「终于解决」一、游标概念 • 在 PL/SQL 块执行 SELECT/INSERT/UPDATE/DELETE 语句时,Oracle 会在内存中为其分配上下文区,而游标是指向该区域的指针。 • 游标为应用程序提供

    2023-05-20
    145
  • 使用Python发送邮件

    使用Python发送邮件随着互联网的普及,电子邮件已成为人们日常生活和工作中必不可少的一种通讯方式。Python作为一种高效的编程语言,常被用来处理各种数据。当我们需要通过程序自动发送邮件时,Python便可以发挥出其优势。Python内置的smtplib和email库提供了一种灵活的方式来处理电子邮件,程序可以自动化地发送邮件,从而提高了邮件的发送效率,节约了使用者的时间。

    2024-01-03
    107
  • Hadoop架构及集群[通俗易懂]

    Hadoop架构及集群[通俗易懂]Hadoop是一个由Apache基金会所开发的分布式基础架构,Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了

    2023-01-29
    125
  • tiflash性能_替代flash

    tiflash性能_替代flashTiFlash 这个项目的核心思路与和 TiDB 一样:持续听取用户反馈、持续改进、持续优化、高速迭代。最近几周陆续有数十家用户已经率先体验了 TiFlash,测试的过程中很多同学注意到一个现象,短…

    2023-02-21
    151
  • Python TKM: 创建GUI界面毫不费力

    Python TKM: 创建GUI界面毫不费力Python是一种简单、易学、高效的编程语言,适用于各种领域,如Web开发、数据科学、科学计算等。Python也可以用来创建GUI(Graphical User Interface,图形用户界面)应用程序,为用户提供更加友好的交互方式。在Python中,有多种GUI工具包可供选择,其中Tkinter是Python自带的GUI工具包,它简单易学,功能齐全,被广泛应用。

    2024-03-10
    79

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注