maven optional可选依赖】的更多相关文章

应用场景:projectA 依赖projectB,  projectB 依赖projectC时 <dependency> <groupId>com.itear.projectC</groupId> <artifactId>projectC</artifactId> <version>0.0.1-SNAPSHOT</version> <optional>true</optional> </dep…
我们知道,maven的依赖关系是有传递性的.如:A-->B,B-->C.但有时候,项目A可能不是必需依赖C,因此需要在项目A中排除对A的依赖.在maven的依赖管理中,有两种方式可以对依赖关系进行,分别是可选依赖(Optional Dependencies)以及依赖排除(Dependency Exclusions). 一.可选依赖 当一个项目A依赖另一个项目B时,项目A可能很少一部分功能用到了项目B,此时就可以在A中配置对B的可选依赖.举例来说,一个类似hibernate的项目,它支持对mys…
现在的项目一般是拆分成一个个独立的模块,当在其他项目中想要使用独立出来的这些模块,只需要在其pom.xml使用<dependency>标签来进行jar包的引入即可. <dependency>其实就是依赖,关于依赖管理里面都涉及哪些内容,我们就一个个来分析下: 依赖传递 可选依赖 排除依赖 我们先来说说什么是依赖: 依赖指当前项目运行所需的jar,一个项目可以设置多个依赖. 格式为: <!--设置当前项目所依赖的所有jar--> <dependencies>…
1.1 何为Maven坐标 正如之前所说的,Maven的一大功能就是管理项目依赖.为了能自动化地解析任何一个Java构件,Maven就必须将它们唯一标识,这就依赖管理的底层基础——坐标. 1.2 坐标详解 Maven坐标的元素包括:groupId,artifactId.version.packaging.classifier.先看一组坐标定义,如下: <groupId>org.sonatype.nexus</groupId> <artifactId>nexus-inde…
一.问题 项目开发过程中,经常会遇到jar冲突,然后maven根据自己的规则进行冲突解决,导致项目在运行的过程中报错. 1.maven自动解决依赖冲突的规则是什么? 2.如何查看当前项目的maven的依赖树? 3.如何从依赖树中找到自己预期的版本,是被那个jar给覆盖了? 4.如何人工进行依赖冲突解决,达到使用目的? 二.解决问题 1.maven自动解决依赖冲突的规则是什么? 第一原则:路径最近者优先 项目A有如下的依赖关系: A->B->C->X(1.0) A->D->X(…
Maven 坐标与依赖 Maven 的一大功能是管理项目依赖.为了能自动化地解析任何一个 Java 构件, Maven 就必须将它们唯一标识,这就依赖管理的底层基础 一一 坐标.本章将详细分析 Maven 坐标的作用,解释其每一个元素:在此基础上,再介绍如何配置 Maven,以及相关的经验和技巧,以帮助我们管理项目依赖. 1. 坐标详解 Maven 坐标为各种构件引人了秩序,任何一个构件都必须明确定义自己的坐标,而组 Maven 坐标是通过一些元素定义的,它们是 grouped. artifac…
一.Maven的依赖作用域scope compile:编译.测试.运行都会依赖,会打进包中. rumtime:不存于编译,后期运行和测试都会参与,会打进包中. test:只在test classpath下 provider:提供编译期使用,但是不会打进包中 import:下面说到了子项目使用父项目的dependencyManagement,但是这种情况需要继承,但是在maven中也体现了面向对象的思想,只能继承一个.那么就无法对另一个依赖做依赖管理了. maven提供了组合形式:import,可…
1:依赖声明 <project> ... <dependencies> <dependency> <groupId>...</groupId> <artifactId>...</artifactId> <version>...</version> <type>...</type> <scope>...</scope> <optional>.…
 1 maven概念模型 2 maven的生命周期,项目构建过程 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt=""> Maven生命周期就是为了对全部的构建过程进行抽象和统一 包含项目清理,初始化,编译,打包,測试,部署等…
新版API上线后,发现LOG文件没有正常输出.查看Tomcat的Log文件发现如下的错误信息 May , :: AM com.sun.xml.ws.server.sei.EndpointMethodHandler invoke SEVERE: Found class ch.qos.logback.core.spi.CyclicBufferTracker, but interface was expected java.lang.IncompatibleClassChangeError: Foun…
maven引入的传递性依赖机制,一方面大大简化和方便了依赖声明,另一方面,大部分情况下我们只需要关心项目的直接依赖是什么,而不用考虑这些直接依赖会引入什么传递性依赖.但有时候,当传递性依赖造成问题的时候,我们就需要清楚地知道该传递性依赖是从哪条依赖路径引入的. 例如,项目A有这样的依赖关系 : A-->B-->C-->X(1.0).A-->D-->X(2.0),X是A的传递性依赖,但是两条依赖路径上有两个版 本的X,那么哪个X会被maven解析使用呢?两个版本都被解析显然是不…
本文转自:http://my.oschina.net/cloudcoder/blog/212648 一.导出到默认目录 targed/dependency 从Maven项目中导出项目依赖的jar包:进入工程pom.xml 所在的目录下,执行如下命令: mvn dependency:copy-dependencies 或在eclipse中,选择项目的pom.xml文件,点击右键菜单中的Run As,见下图红框中,在弹出的Configuration窗口中,输入 dependency:copy-dep…
maven的一些依赖: <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">…
maven-dependency-plugin最大的用途是帮助分析项目依赖,dependency:list能够列出项目最终解析到的依赖列表,dependency:tree能进一步的描绘项目依赖树,dependency:analyze可以告诉你项目依赖潜在的问题,如果你有直接使用到的却未声明的依赖,该目标就会发出警告.maven-dependency-plugin还有很多目标帮助你操作依赖文件,例如dependency:copy-dependencies能将项目依赖从本地Maven仓库复制到某个特…
eclipse导入maven项目后依赖jar包更新问题 1.eclipse有专门的导入maven项目按钮,file-import-maven project,eclipse会自动查找指定路径下的pom,并进行解析pom.xml,为项目添加进来jar包 2.如果本地仓库有jar包,或者更换了.只需要右键工程名,选择maven,->update project,能自动更新依赖jar包 3.包含xml的配置也是如此,如果更新更改了配置,refresh下这个xml文件就好了…
idea maven web工程明明添加了maven lib的依赖,但启动web容器时始终报No Class Found? 很久没用idea搭新工程,最近自己想做个东西,冲心搭个web工程,jar包都用maven刷好了,而且也将jar包添加至web module的Dependences里头了,但启动web容器始终报No Class Found,问题出在哪了,就出在添加jar包和配置Artifacts Explore的顺序弄反了,因为在添加发布包Artifacts Explore时jar包依赖还没…
Maven导出Project依赖的jar包 从Maven仓库中导出jar包: mvn dependency:copy-dependencies 会导出到Project的targed/dependency 下面 可以在Project创建lib文件夹,输入以下命令: mvn dependency:copy-dependencies -DoutputDirectory=lib 这样jar包都会copy到Project目录下的lib里面 可以设置依赖级别,通常用编译需要的jar mvn dependen…
一.maven项目已jar包形式导出 1.首先右键项目,选择Export 2.选择好项目,设置导出路径和jar名字即可: 二.导出maven项目所依赖的所有jar包 1.右键项目,选择Export 2.选择好项目和导出后的文件名字 3.导出后maven依赖的jar包都会存储在你刚才设置的路径的文件夹下 原创作品,转载请声明转载地址:http://www.cnblogs.com/NiceCui/p/7754489.html…
前言 本篇文章基于Java开发小技巧(二):自定义Maven依赖中创建的父工程project-monitor实现,运用我们自定义的依赖包进行多工程依赖项目的开发. 下面以多可执行Jar包项目的开发为例,进行Maven多工程依赖项目开发的讲解. 需求分析 首先来看一下封面图,我们要实现的效果是: 1.多个项目共享一个项目的类和方法等通用内容 2.每个子项目单独导入所需依赖,以及各自填充父项目配置文件中的占位符 3.子项目按指定目录结构进行打包 4.所有子项目集成打包到一个统一的目录,共享依赖包和配…
Maven教程2(Eclipse配置及maven项目) Maven项目,依赖,构建配置,以及构件:所有这些都是要建模和表述的对象.这些对 象通过一个名为项目对象模型(Project Object Model, POM)的XML文件描述.这个POM 告诉Maven它正处理什么类型的项目,如何修改默认的行为来从源码生成输出.同样 的方式,一个Java Web应用有一个web.xml文件来描述,配置,及自定义该应用,一个 Maven项目则通过一个 pom.xml文件定义.该文件是Maven中一个项目的…
转自:https://blog.csdn.net/andyliulin/article/details/46544555 一.导出到默认目录 targed/dependency 从Maven项目中导出项目依赖的jar包:进入工程pom.xml 所在的目录下,执行如下命令: 1 mvn dependency:copy-dependencies 或在eclipse中,选择项目的pom.xml文件,点击右键菜单中的Run As,见下图红框中,在弹出的Configuration窗口中,输入 depend…
maven 中maven dependencies中依赖出现了项目,无法打包 ,出现的错误如图.说明:依赖的项目为project-dao  打包的项目为project-service  都在project-parent中有依赖. [INFO] Scanning for projects...[INFO]                                                                         [INFO] ------------------…
摘要: 在进行项目部署时,需要将maven项目所依赖的jar导出到指定目录,本文讲解如何导出项目依赖的jar包 一.导出到默认目录 targed/dependency 从Maven项目中导出项目依赖的jar包:进入工程pom.xml 所在的目录下,执行如下命令: mvn dependency:copy-dependencies 或在eclipse中,选择项目的pom.xml文件,点击右键菜单中的Run As,见下图红框中,在弹出的Configuration窗口中,输入 dependency:co…
一.Maven3.5.0安装与配置+Eclipse应用 参考:Maven3.5.0安装与配置+Eclipse应用 二.http://mvnrepository.com/ 此处以http://mvnrepository.com/artifact/org.apache.spark/spark-core_2.11/2.1.1作为例子: 复制这一段加入到pom.xml即可: <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-co…
1.在默认生命周期的compile阶段执行 maven-dependency-plugin:copy-dependencies命令即可:<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><executions><execution><id>install</i…
ylbtech-Java-Maven-Runoob:Maven 引入外部依赖 1.返回顶部 1. Maven 引入外部依赖 如果我们需要引入第三库文件到项目,该怎么操作呢? pom.xml 的 dependencies 列表列出了我们的项目需要构建的所有外部依赖项. 要添加依赖项,我们一般是先在 src 文件夹下添加 lib 文件夹,然后将你工程需要的 jar 文件复制到 lib 文件夹下.我们使用的是 ldapjdk.jar ,它是为 LDAP 操作的一个帮助库: 然后添加以下依赖到 pom.…
maven 中maven dependencies中依赖出现了项目,把依赖的项目关掉,项目消失,但是还是无法打包 ,出现的错误如图.说明:依赖的项目为project-dao  打包的项目为project-service  都在project-parent中有依赖. project-dao是可以打包成功的.project-service中依赖dao的jar包也可以过 来. [INFO] Scanning for projects... [INFO]                        …
mvn/maven如何检查依赖冲突,并解决依赖冲突 如图,点击图示位置,就可以把整个项目的依赖关系展示出来 在图里选中一个artifact,则所有依赖该artifact的地方都会一起连带出来突出显示,如果有不同版本的也会标记出来.这样该artifact在该工程里是如何被直接或间接引入的进来也就明朗了. 也可以在项目的pom.xml文件里,右键调出显示依赖关系的快捷键 如果有冲突的版本,可以右击该版本的节点然后Exclude,对应的pom.xml就已经成功修改了.(IntelliJ IDEA对于文…
Maven引入Hadoop依赖报错:Missing artifact jdk.tools:jdk.tools:jar:1.6 原因是缺少tools.jar的依赖,tools.jar在jdk的安装目录中提供了,所以改成如下形式解决此问题:添加依赖 <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-core</artifactId>…
在写本文的时候先来说明一下maven依赖的各种范围的意思 compile(编译范围)       compile 是默认的范围:如果没有提供一个范围,那该依赖的范围就是编译范围.编译范围依赖在所有的classpath 中可用,同时它们也会被打包.provided(已提供范围)       provided 依赖只有在当JDK 或者一个容器已提供该依赖之后才使用.例如,如果你开发了一个web 应用,你可能在编译classpath 中需要可用的ServletAPI 来编译一个servlet,但是你不…