【maven】ITOO POM文件依赖关系

2024-08-25 20:32
文章标签 maven 依赖 关系 pom itoo

本文主要是介绍【maven】ITOO POM文件依赖关系,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近更改最多的就是pom文件的依赖关系管理和添加,更新了很多次,一次次的交流中,发现原来对于maven的管理机制还是不懂。


一、maven的scope标签


scope标签的主要参数如下。

(1)compile  编译依赖范围

默认的scope,表示dependency,都可以在生命周期中使用。而且,这些依赖会传递到依赖的项目中。对于编译、测试、运行三种classpath都有效,并且会随着项目一起发布。

(2)test  测试依赖范围

使用了此依赖范围的Maven依赖,只对于测试的classpath有效,在编译主代码或者运行项目的时候,无法使用此依赖。典型的是junit,它只要在便一眼测试和运行测试的时候, 才会有效。

(3)Provide:已提供依赖范围

如果使用此标签,对于编译和测试时候classpath有效,但是在运行时无效。典型例子servlet-api,编译和测试项目的时候,需要该依赖,但是项目运行的视乎, 由于容器已经提供,所以不需要Maven重新引入。

(4)Runtime:运行时依赖范围。使用之后,对于测试和运行classPath有效,但是在编译主代码时候无效。

(5)System:系统依赖范围,和Provided依赖范围完全一致。使用System范围依赖时,必须通过systemPath元素显式的指定依赖文件的路径。但是,使用System范围的依赖时候必须通过systemPath显式指定依赖文件的路径。因为这个范围的依赖不是通过Maven仓库解析的,而且往往与本机系统绑定,所以容易造成移植的不稳定性因此谨慎使用。


依赖范围(scope)
对于编译ClassPath有效
对于测试classPath有效
对于运行时classpath有效
例子
compile
y
y
y
spring-core
test
_
y
-
junit
provided
y
y
-
servlet-api
runtime
-
y
y
JDBC驱动实现
system
y
y
-
本地的,Maven仓库之外的类库文件


二、Provide标签在项目中的使用。


引入其他服务的api时,在scope中添加provide,避免传递依赖。

	<!--依赖基础信息的API--><dependency><groupId>com.dmsdbj.itoo</groupId><artifactId>basicInfo-api</artifactId><version>1.0.0-SNAPSHOT</version><scope>provided</scope></dependency><!--依赖权限的API--><dependency><groupId>com.dmsdbj.itoo</groupId><artifactId>authorityManagement-api</artifactId><version>1.0.0-SNAPSHOT</version><scope>provided</scope></dependency><!--添加单表服务的api--><dependency><groupId>com.dmsdbj.itoo</groupId><artifactId>singleTableMaintain-api</artifactId><version>1.0.0-SNAPSHOT</version><scope>provided</scope>



这篇关于【maven】ITOO POM文件依赖关系的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1106583

相关文章

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

POJ1269 判断2条直线的位置关系

题目大意:给两个点能够确定一条直线,题目给出两条直线(由4个点确定),要求判断出这两条直线的关系:平行,同线,相交。如果相交还要求出交点坐标。 解题思路: 先判断两条直线p1p2, q1q2是否共线, 如果不是,再判断 直线 是否平行, 如果还不是, 则两直线相交。  判断共线:  p1p2q1 共线 且 p1p2q2 共线 ,共线用叉乘为 0  来判断,  判断 平行:  p1p

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

Maven创建项目中的groupId, artifactId, 和 version的意思

文章目录 groupIdartifactIdversionname groupId 定义:groupId 是 Maven 项目坐标的第一个部分,它通常表示项目的组织或公司的域名反转写法。例如,如果你为公司 example.com 开发软件,groupId 可能是 com.example。作用:groupId 被用来组织和分组相关的 Maven artifacts,这样可以避免

深入理解数据库的 4NF:多值依赖与消除数据异常

在数据库设计中, "范式" 是一个常常被提到的重要概念。许多初学者在学习数据库设计时,经常听到第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及 BCNF(Boyce-Codd范式)。这些范式都旨在通过消除数据冗余和异常来优化数据库结构。然而,当我们谈到 4NF(第四范式)时,事情变得更加复杂。本文将带你深入了解 多值依赖 和 4NF,帮助你在数据库设计中消除更高级别的异常。 什么是

Maven(插件配置和生命周期的绑定)

1.这篇文章很好,介绍的maven插件的。 2.maven的source插件为例,可以把源代码打成包。 Goals Overview就可以查看该插件下面所有的目标。 这里我们要使用的是source:jar-no-fork。 3.查看source插件的example,然后配置到riil-collect.xml中。  <build>   <plugins>    <pl

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们