Maven使用详解

1、maven介绍:

 

2、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><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.3.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.google</groupId><artifactId>aibaiyang</artifactId><version>0.0.1-SNAPSHOT</version><name>aibaiyang</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

 

代码第一行是XML头,指定了改xml的版本和编码格式。紧接着是project元素,project元素是所有pom.xml的根元素,它声明了一些POM相关的命名空间及xsd元素。

modelVersion:指定了当前POM模型的版本,对于maven2以及maven3来说,它只能是4.0.0。

groupId、artifactId、version:这三个元素定义了一个项目的基本坐标,groupId定义了项目属于哪个组,例如google公司的myapp项目,那么groupId就应该是com.google.myapp;artifactId定义了Maven项目中组的唯一id,例如myapp-domain,myapp-serveice,myapp-web。

version:项目当前的版本号,0.0.1-SNAPSHOT是该项目的版本号。

name:声明了一个对于用户更为友好的项目名称,以方便信息交流,不是必须的。

 

3、坐标和依赖:

groupId:

artifactId:该元素定义实际项目中的一个Maven项目(模块),推荐的做法是使用实际的项目名称作为artifactId的前缀。这样做的好处是方便寻找实际的构件,使用实际的项目名称作为前缀之后,就能方便从一个lib文件夹中找到某个项目的一组构件。

version:该元素定义了Maven项目当前所处的版本。

packaging :该元素定义了Maven项目的打包方式,打包方式与所生成的构件的文件扩展名相对应。

 

3.1、依赖配置:

    <dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>RELEASE</version><type>jar</type><scope>runtime</scope><optional>false</optional><exclusions><exclusion> </exclusion></exclusions></dependency></dependencies>

groupId、artifactId、version:依赖坐标

type:依赖类型,对应项目坐标定义的packaging。大部分情况下该元素不必声明,其默认值为jar

socpe:依赖范围

optional:标记依赖是否可选

exclusions:用来排除传递性依赖

 

3.2、依赖范围:

compile:编译依赖氛围。没有指定,就会默认使用该依赖范围。

test:测试依赖范围。

provided:已提供依赖范围,编译和测试有效,但在运行时无效。

runtime:运行时依赖范围。编译无效,测试和运行时有效。

system:系统依赖范围,和provided依赖范围一致。

import:导入依赖范围。

 

3.3、传递性依赖:

 

 

 

参考此文档

转载于:https://www.cnblogs.com/aibaiyang/p/10393188.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/395133.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java web junit_如何使用junit测试javaweb工程

一:创建一个测试类,建议将测试类单独放在一个包中(在 maven 项目里有测试类专门的存放位置),新建一个Junit Test Case类,下一步 测试类的命名建议是你将要测试的类名Test,然后点 Browse, 你可以选择要进行测试的类(一般选择 Service, 因为 Service 关心的是业务需求),用这种方式…

java代码_Java 代码实现排序算法

阅读本文约需要8分钟 大家好&#xff0c;我是你们的导师&#xff0c;我每天都会在这里给大家分享一些干货内容(当然了&#xff0c;周末也要允许老师休息一下哈)。上次老师跟大家分享了下SpringBootGradle MyBatisPlus3.x搭建企业级的后台分离框架的相关知识&#xff0c;今天跟大…

优秀的开源项目C_适合提高C/C++、网络编程能力的开源项目!不要错过,赶紧收藏...

我们学习每一个编程语言都是有一个项目实战的过程&#xff0c;而对于开发类的编程语言&#xff0c;除了适当的做项目程序外&#xff0c;学习了解其他的开源项目更是一个关键&#xff0c;就比如我们的C/C编程语言的学习。前阵子有一个小伙伴就问到我&#xff0c;我学好C/C基础后…

Opencv分水岭算法——watershed自动图像分割用法

分水岭算法是一种图像区域分割法&#xff0c;在分割的过程中&#xff0c;它会把跟临近像素间的相似性作为重要的参考依据&#xff0c;从而将在空间位置上相近并且灰度值相近的像素点互相连接起来构成一个封闭的轮廓&#xff0c;封闭性是分水岭算法的一个重要特征。 其他图像分割…

Java Annotation

一、了解注释注释是java1.5 jdk这后引入的特性。Java库自己带的注释有Deprecated, Overwrite等。注释是加在类&#xff0c;方法&#xff0c;变量等上的一种标记。并且&#xff0c;可以通过javaj反射操作把这个标记取出来。主要用途是用于对方法&#xff0c;变量&#xff0c;类等…

pycharm显示全部数据_PyCharm第一次安装及使用教程

pycharm简介PyCharm是一种Python IDE&#xff0c;带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具&#xff0c;比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外&#xff0c;该IDE提供了一些高级功能&#xff0c;以用…

笔记本win10玩红警黑屏_【买笔记本电脑差评真的有参考意义?】

每次推荐笔记本电脑都会遇到一个重要的问题就是&#xff1a;“大多数消费者会下意识的去看京东评论&#xff0c;参考买的人是怎么说的&#xff0c;往往会出现不懂电脑的人继续误导不懂的人&#xff0c;导致越来越多的人被误导”本文聊聊关于京东评论究竟有没有参考价值。1&…

java前端接收回显图片_图片上传并回显后端篇

图片上传并回显后端篇我们先看一下效果继上一篇的图片上传和回显&#xff0c;我们来实战一下图片上传的整个过程&#xff0c;今天我们将打通前后端&#xff0c;我们来真实的了解一下&#xff0c;我们上传的文件&#xff0c;是以什么样的形式上传到服务器&#xff0c;难道也是一…

zip直链生成网站_手把手教你如何用飞桨自动生成二次元人物头像

【飞桨开发者说】李思佑&#xff0c;昆明理工大学信息与计算科学大四本科生&#xff1b;2018年和2019年两次获得全国大学生数学建模比赛国家二等奖&#xff1b;2020年美国数学建模比赛获M奖。指导老师&#xff1a;昆明理工大学理学院朱志宁想画出独一无二的动漫头像吗&#xff…

Gradle入门到实战(一) — 全面了解Gradle

声明&#xff1a;本文来自汪磊的博客&#xff0c;转载请注明出处 可关注个人公众号&#xff0c;那里更新更及时&#xff0c;阅读体验更好&#xff1a; 友情提示由于文章是从个人公众号拷贝过来整理的&#xff0c;发现图片没有正常显示&#xff0c;没关注公众号的同学可通过如下…

javaweb 图书管理系统完整代码_看一名Java开发人员以红队思维五分钟审计一套代码(续)...

前言上篇文章的发布引起了很多读者的浏览&#xff0c;有很多读者也催更希望读到续集&#xff0c;作者也收获到读者的鼓励&#xff0c;说明这条路线对大家有帮助&#xff0c;是有意义的。所以&#xff0c;今天作者将继续阐述在审计Java代码时的思路。概述上篇文章所讲的SQL注入和…

爱立信数据分析解决方案抓住物联网发展机遇

爱立信在2016年1月6日至9日于美国拉斯维加斯举办的国际消费电子展&#xff08;CES&#xff09;上推出“用户和物联网数据分析”解决方案。该解决方案将能帮助运营商提高对用户和物联网终端的内部管理效率&#xff0c;同时探索跨越多个垂直领域的新型物联网应用。 用户和物联网数…

JAVA实现在面板中添加图表_Java 创建PowerPoint图表并为其添加趋势线

图表&#xff0c;是指将既得数据用图形的方式表示出来。在前文中我们介绍过如何使用Java程序来为Excel文档创建图表的方法。本文将通过使用Java程序来演示如何创建PowerPoint图表及为图表添加趋势线。趋势线的运用能够显示数据的变化趋势&#xff0c;同时能够帮助预测数据的未来…

idea设置中文界面_《英雄联盟手游》设置界面中文翻译图分享 外服汉化界面一览...

导读 英雄联盟手游目前以及正式上线了&#xff0c;不过现在的话是没有中文版的&#xff0c;只有外服&#xff0c;所有很多地方是看不懂的&#xff0c;也不明白的&#xff0c;这样的话就需要翻译了&#xff0c;具体要怎么设置会比较&#xff0c;相关的步骤是什么呢&#xff1f;下…

安卓10不支持qmc解码_官宣:安卓10已发布!21款手机已适配,小米华为率先支持...

随着今天凌晨谷歌 I/O 大会的召开&#xff0c;Android Q 也就是安卓10正式官宣&#xff0c;新版的安卓10加入了诸多新手势&#xff0c;从 Home 键设计上看&#xff0c;安卓10 的新版手势很大程度上有疑似借鉴 iOS 的手势&#xff0c;底部一个长条&#xff0c;作为 Home 用来返回…

linux系统编程之进程(七):system()函数使用【转】

本文转载自&#xff1a;http://www.cnblogs.com/mickole/p/3187974.html 一&#xff0c;system()理解 功能&#xff1a;system()函数调用“/bin/sh -c command”执行特定的命令&#xff0c;阻塞当前进程直到command命令执行完毕 原型&#xff1a; int system(const char *comma…

汉王云名片识别(SM)组件开发详解

大家好&#xff0c;最近在DeviceOne平台上做了一个汉王云名片识别的功能组件。下面把我开发过程给大家做一个分享&#xff0c;希望可以帮助到大家。 下面我把我的思路给大家讲解一下。1.找到我要集成的sdk&#xff0c;也就是汉王云名片的sdk下载&#xff08;android和ios&#…

[App Store Connect帮助]八、维护您的 App(4.2)查看评分与评论

您可以查看 App 的总评分或单个顾客评论。如有必要&#xff0c;您可以针对某条评论报告问题。 【注】顾客可以为您的 iOS 和 macOS App 评分并撰写评论&#xff0c;但只能为 Apple TVOS App 评分。 必要职能&#xff1a;“帐户持有人”职能、“管理”职能、“App 管理”职能、“…

visio studio json工具_《产品经理入门指南》彩蛋2:别技淫原型图!你的Visio和Balsamiq Mockup入门了吗?...

温馨提示&#xff1a;如果你有关于产品经理方面的任何问题&#xff0c;欢迎关注我的微信公众号与我互动。最新的免费系统的产品经理课程《老司机带你做产品》已经推出&#xff0c;请关注微信公众号&#xff1a;iamliuwenzhi很多产品新人刚开始工作时&#xff0c;喜欢一拿到需求…

mysql牵引例子_MySQL学习06(事务和索引)

事务概述什么是事务事务就是将一组SQL语句放在同一批次内去执行如果一个SQL语句出错,则该批次内的所有SQL都将被取消执行MySQL事务处理只支持InnoDB和BDB数据表类型事务的ACID原则原子性(Atomic)整个事务中的所有操作&#xff0c;要么全部完成&#xff0c;要么全部不完成&#…