maven 依赖优化】的更多相关文章

1.mvn dependency:list  列出项目用到的依赖 2.查看依赖树 mvn dependency:tree 3.mvn dependency:analyze Used undeclared 表示用到了但没有显示声名的依赖(可能是递归依赖),这些依赖最好显示声名一下 Unused declared dependencies 是声名了但未用到的依赖,可以注释掉(不建议删除)…
本文主要介绍如何优化pom,杜绝重复(DRY). 1)模块重复依赖: 2)坐标版本号重复: 3)兄弟依赖 一.项目骨架 上图说明: multi-module-project是一个有多个模块构成的项目,模块分别为:web-service.web-app.web-dal web-service.web-app.web-dal分别依赖与log4j web-app同时依赖web-service和web-dal,因为这三个模块属于同一个project,所以这种依赖叫做兄弟依赖.  二.模块重复依赖 2.1…
3.1 依赖的配置 一个依赖声明可以包含下面元素: <dependencies> <dependency> <groupId></groupId> <artifactId></artifactId> <version></version> <type></type> <scope></scope> <optional></optional>…
1:前言 做软件开发这几年遇到了许多的问题,也总结了一些问题的解决之道,之后慢慢的再遇到的都是一些重复性的问题了,当然,还有一些自己没有完全弄明白的问题.如果做的事情是重复的,遇到重复性问题的概率也就会比较多了,如果是在一个新的领域里玩,遇到的问题又都是新的,自己从来没有见过的,但是问题的解决思路基本是类似的.下面这个问题,我觉得值得一记,因为以后还会再遇到类似的,我希望自己能很快的将其解决掉. 2:报错信息 如下是更新项目后,启动项目时抛出的部分错误信息. 十二月 14, 2016 7:52:…
通常情况下,我们都比较喜欢使用maven进行项目管理,要加个依赖包也非常简单,不需要到处去下载jar包,当然除了maven之外,也还有一些非常不错的工具.在使用maven进行项目依赖管理的时候,有时候会出现一种情况,多个不同的开源组件都依赖了另外一个组件,但是这个组件的版本却不一样,在maven依赖中就会看到两个版本不同的jar,通常我们可以根据实际情况排除其中一个,当然前提是这个版本没有太大的差异,兼容.老规矩,直接了当说怎么做吧: 1.手工添加配置:在dependency标签里使用子标签ex…
最近做的项目都是maven的,据说maven是个东西.把依赖的jar文件的事情都委托出去辣!试着用了一下哈,效果还可以! 今天做了数据库配置这一块,特意把相关的东西总结出来,以备不时之需. MySQL db driver maven dependency <dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <…
相同依赖级别,先加入的先依赖不同依赖级别,级别短的先依赖 version-->SNAPSHOTxxx-里程碑-->SNAPSHOT,alpha,beta,Release(RC),GA()svn版本控制cms0.0.1-SNAPSHOT-->cms0.0.1-Release-->cms1.0.1-SNAPSHOT -->cms0.1.1-SNAPSHOT-->cms1.0.1-RELEASE -->cms0.1.1-release 1. 依赖配置    依赖可以声明…
今天遇到要全局排除一个maven依赖,因为Maven本身没有全局排除依赖的办法, 参考了同事人英写的一篇博文(可以看这里http://my.oschina.net/liuyongpo/blog/177301) 总结下来是两种办法: 1.在maven服务器部署一个需要排除的依赖的空jar . 2.使用maven-enforcer-plugin 加排除黑名单.…
一.maven 依赖传递规则 举个例子,比如A依赖B,B依赖C,那么A也是依赖C的.A是对B的直接依赖,A对C是传递依赖 ①.最短路劲原则 如,路劲一:A依赖B,B依赖C,C依赖D(1.0.0): 路劲二:A依赖E,E依赖D(2.0.0), 此时A间接依赖D版本是2.0.0! ②.最先定义原则 如,路劲一:A依赖B,B依赖C(1.0.0): 路劲二:A依赖E,E依赖C(2.0.0), 此时A间接依赖C版本是1.0.0! 题外话,如果想精确的控制依赖包版本,可以使用依赖的排除功能——>exclus…
原文链接: Spring Security with Maven原文日期: 2013年04月24日翻译日期: 2014年06月29日翻译人员: 铁锚 1. 概述 本文通过实例为您介绍怎样使用 Maven 管理 Spring Security 和 Spring 的依赖关系.最新的Spring Security公布版本号能够在 Maven Central仓库 中找到. 译者建议訪问MVNRespotory中org.springframework.security链接.本文是 使用Maven管理Spr…
本文将记录Maven工程中依赖解析机制,内容包括: Maven依赖基本结构 从仓库解析依赖的机制 依赖传递性解析实例 1. Maven依赖基本结构 上篇文章记录了Maven依赖的聚合与继承,POM中依赖的声明通过dependency进行定义,并且通过groupId.artifactId及version三项定位Maven库中的唯一依赖.除了这三项外,还有其他属性进行限制,如下: <dependencies> <dependency> <groupId>...</gr…
背景 昨天帮一位同事排查了一个依赖冲突的问题.问题的现象就是在IntelliJ IDEA运行项目正常,但是打包(Maven assembly jar)之后传到服务器运行失败,报错:Caused by: java.lang.NoSuchFieldError: INSTANCE. 后来定位到某个类存在多个版本,其中一个版本是没有INSTANCE的.进一步发现项目所依赖的其他module,都是以assembly jar的形式install到本地仓库的,最终通过修改pom文件,对所依赖的module重新…
前言 我们在项目开发中经常会将一些通用的类.方法等内容进行打包,打造成我们自己的开发工具包,作为各个项目的依赖来使用. 一般的做法是将项目导出成Jar包,然后在其它项目中将其导入,看起来很轻松,但是存在一个问题,如果你修改了Jar包的内容,岂不是要每个项目都重新导入,这显然是一种很不智能的做法. 那我们要怎样避免这种"牵一发而动全身"的效果呢?这里给大家介绍一种灵活的解决方法. 解决方法 自定义Maven依赖 Maven是一个项目管理工具,其中一个重要的组成部分就是依赖管理系统,用来解…
相信大家都碰见过 maven 配置的依赖或者是 jar 包或者是工程,在开发的过程当中,我们当然需要引入的是工程,这样查看 maven 依赖的文件的时候,就能直接查看到源码. 一.本地工程依赖 举个例子,其架构如下所示(以下均使用eclipse中m2eclipse插件进行演示)-- 此时,这里依赖的"dependency-to-hello"指代的是eclipse工作空间中的工程,这样,我们直接源码依赖的便是工作空间 里的源码,这样很方便,也是我们需要的.会注意到,所依赖的"d…
相信大家都碰见过maven配置的依赖或者是jar包或者是工程,在开发的过程当中,我们当然需要引入的是工程,这样查看maven依赖的文件的时候,就能直接查看到源码. 一.本地工程依赖 举个例子,其架构如下所示(以下均使用eclipse中m2eclipse插件进行演示)—— 此时,这里依赖的“dependency-to-hello”指代的是eclipse工作空间中的工程,这样,我们直接源码依赖的便是工作空间里的源码,这样很方便,也是我们需要的.会注意到,所依赖的“dependency-to-hell…
场景一: 使用Maven的同学可能偶尔会遇到这种情况:pom.xml中依赖了项目需要的某个jar文件,但是使用Maven –> update project 还是没办法下载该jar到项目中,你可能需要检查本地仓库的配置,打开.m2目录下的settings.xml,配置一个中央仓库(或者你使用的jar所在的仓库地址)的镜像: <mirror> <id>mvnrepositoryMID</id> <mirrorOf>mvnrepositoryRID<…
1.oracle mysql驱动 <!-- mysql驱动支持 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- oracle驱动支持.注:此驱动maven不一定下载得到.--> <dependency> <groupId>c…
一.数据库类型 1.mysql驱动 <!-- mysql驱动支持 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> 2.oracle 驱动 <!-- oracle驱动支持.注:此驱动maven不一定下载得到.--> <dependency> <…
之前通过学习了解,maven集成到eclipse中的如何创建项目,以及maven命令插件在eclipse中安装后的用法.那么接下来我们将会学习一些maven在项目中的一些特性,及如何使用. Maven依赖特性 基于之前我们创建的maven-web-project01项目,接下来学习如何通过maven引入一个新包,比如:我需要使用mysql的驱动包,此时在baidu中搜索maven repository,可以找到官网:https://mvnrepository.com/,在搜索栏中输入mysql…
hessian结合spring的demo         hessian的maven依赖: <!-- hessian --> <dependency>         <groupId>com.caucho</groupId>         <artifactId>hessian</artifactId>         <version>4.0.7</version> </dependency>…