首页 > 其他分享 >Maven 基础认识以及坐标认识(一)

Maven 基础认识以及坐标认识(一)

时间:2023-12-29 14:12:56浏览次数:32  
标签:provided 依赖 Java 认识 jar Maven 坐标 打包

1、Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目【构建】和【依赖管理】

构建的几个环节:

①清理:删除以前的编译结果,为重新编译做好准备。
②编译:将 Java 源程序编译为字节码文件。
③测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。
④报告:在每一次测试后以标准的格式记录和展示测试结果。
⑤打包:将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。Java 工程对应 jar 包,Web工程对应 war 包。
⑥安装:在 Maven 环境下特指将打包的结果——jar 包或 war 包安装到本地仓库中。
⑦部署:将打包的结果部署到远程仓库或将 war 包部署到服务器上运行。

2、pom文件:Project Object Model 项目对象模型,将 Java 工程的相关信息封装为对象作为便于操作和管理的模型;

maven的坐标:

groupid:公司或组织的域名倒序+当前项目名称
artifactId:当前项目的模块名称
version:当前模块的版本
scope:依赖的范围

groupid+artifactId+version连起来是一个路径;以连起来的字符串作为目录结构到仓库中查找
【坐标GAV】:   当 A jar 包用到了 B jar 包中的某些类时,A 就对 B 产生了依赖,这个时候我们就只需要使用 dependency 标签指定被依赖 jar 包的坐标就可以了。
大概原理就是,当我们添加依赖之后,他会去网上下载对应的jar包,下载到我们的本地仓库,下载下来的时候,依据的jav找到我们本地的jar包,进行引用。

【依赖的范围】:<scope>compile</scope>

依赖的范 围有几个可选值,我们用得到的是:compile、test、provided 三个。
1、compile:参与主程序、参与测试程序、参与打包
2、test:只运用于测试程序、不参与打包
比如junit我们只有在测试当中会用到,这个时候可以设置test
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.9</version>
    <scope>test</scope>
</dependency>
3、provided :参与主程序、参与测试程序、不参与打包
有些jar包我们容器就给我提供了,这个时候我们就需要设置provided
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
</dependency>

【依赖的传递性】:

A 依赖 B,B 依赖 C,A 能否使用 C 呢?那要看 B 依赖 C 的范围是不是 compile,如果是则可用,否则不可用。

 

标签:provided,依赖,Java,认识,jar,Maven,坐标,打包
From: https://www.cnblogs.com/wongzzh/p/17934752.html

相关文章

  • Maven的pom标签含义详解
    Maven的pom标签含义详解parent标签<projectxmlns="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.0http://maven.apache.org/maven-v4_0_0.xsd......
  • Maven插件系列之spring-boot-maven-plugin
    SpringBoot的Maven插件(SpringBootMavenplugin)能够以Maven的方式为应用提供SpringBoot的支持,即为SpringBoot应用提供了执行Maven操作的可能。SpringBootMavenplugin能够将SpringBoot应用打包为可执行的jar或war文件,然后以通常的方式运行SpringBoot应用。SpringBootMave......
  • 3_关于c#中类的初步认识
    关于C#中类的认识静态字段static静态字段被类的所有实例共享,所有实例都访问内存同一内存位置,因此,如果该内存位置的值一旦被某个实例改变了,这种改变对所有的实例都可见。我们可以使用static关键字来将字段声明为静态,如:namespaceHello{internalclassProgram{......
  • 【SpringBoot零基础入门到项目实战②】安装Java和Maven,创建你的第一个项目
    文章目录导言安装JavaWindows系统macOS系统Linux系统安装和配置MavenWindows系统macOS系统Linux系统配置Maven本地仓库使用阿里镜像加速创建第一个SpringBoot项目拓展学习(提前了解后面会讲到)1.深入理解SpringBoot的项目结构2.学习SpringBoot的自动配置3.掌握SpringBoot......
  • geoc_bd09towgs84 百度坐标转wgs84
    转自:https://zhuanlan.zhihu.com/p/612305027描述百度坐标系转wgs84坐标系"geoc_bd09towgs84"("geom""public"."geometry")示例selectgeoc_bd09towgs84(st_geometryfromtext('POINT(120.2338240008098530.38137624233871)'));-......
  • 【教程】WordPress之认识
    什么是WordPressWordPress是一种使用PHP语言开发的建站系统,用户可以在支持PHP和MySQL数据库的服务器上架设WordPress。可以搭建个人博客,也可以作为内容存储到WordPress中。进阶认识一个提供网站后台管理的程序,安装WordPress以后,你就有了一个网站管理后台。WordPress后台+......
  • maven 更新慢的解决
    在项目的pom文件右键,创建settings.xml文件:在文件中输入:<mirror><id>alimaven</id><name>aliyunmaven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror>......
  • 人工智能入门实战:认识机器学习的基础知识
    1.背景介绍人工智能(ArtificialIntelligence,AI)是一门研究如何让计算机模拟人类智能行为的科学。人工智能的目标是开发一种能够理解自然语言、学习从经验中、解决问题、进行推理、理解环境、执行任务、自主学习和适应环境变化的智能系统。人工智能的研究范围包括知识表示、搜索、......
  • 利用地面控制点高程坐标实现三维模型数据的高程修正的方法分析
    利用地面控制点高程坐标实现三维模型数据的高程修正的方法分析 倾斜摄影是一种通过航空或地面设备获取的图像数据,可以用于生成三维模型。然而,倾斜摄影数据中的高程坐标存在一定的偏差,这可能会影响到生成的三维模型的准确性和精度。为了修正这些高程坐标的偏差,可以利用地面控制......
  • 重新认识yum
    自于英文词组”YellowdogUpdater,Modified“的缩写,其功能是用于在Linux系统中基于RPM技术进行软件包的管理工作。能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。使用国内源mv/etc/yum.repos.d/CentOS......