精华内容
下载资源
问答
  • maven依赖排除

    千次阅读 2018-11-09 11:24:00
    maven依赖排除 单依赖过滤 同依赖过滤直接处理:可以过滤一个或者多个,如果过滤多个要写多个<exclusion>。 <dependency> <groupId>org.apache.hbase</groupId> ...

    maven依赖排除

    单依赖过滤

         同依赖过滤直接处理:可以过滤一个或者多个,如果过滤多个要写多个<exclusion>。

    <dependency>    
        <groupId>org.apache.hbase</groupId>
        <artifactId>hbase</artifactId>
        <version>0.94.17</version> 
        <exclusions>  
             <exclusion>     
                 <groupId>commons-logging</groupId>        
                 <artifactId>commons-logging</artifactId>  
             </exclusion>  
        </exclusions>  
    </dependency>

    多依赖过滤

    <dependency>
        <groupId>org.apache.hbase</groupId>
        <artifactId>hbase</artifactId>
        <version>0.94.17</version>
        <exclusions>
            <exclusion>
                <groupId>*</groupId>
                <artifactId>*</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

     

    posted @ 2018-11-09 11:24 路迢迢 阅读(...) 评论(...) 编辑 收藏
    展开全文
  • maven 依赖排除

    2014-11-26 15:43:00
    在项目中遇到一个问题,项目使用spring 3.x,...这种情况就需要用到maven依赖排除,配置如下:  使用以下代码排除依赖xxxx引用的spring包 <dependency> <groupId>com.xxx.xxx</groupId> ...

        在项目中遇到一个问题,项目使用spring 3.x,引用了某些包,这些包又依赖了spring2.x,造成项目无法启动.这种情况就需要用到maven的依赖排除,配置如下:

      使用以下代码排除依赖xxxx引用的spring包

     <dependency>
                <groupId>com.xxx.xxx</groupId>
                <artifactId>xxxx</artifactId>
                <version>1.2-SNAPSHOT</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

     

    转载于:https://www.cnblogs.com/onmyway20xx/p/4123440.html

    展开全文
  • 一个工程下,只会依赖某个jar包的一个版本,包括依赖传递过来的jar包(也会转化成其中的某一个版本)。 解决模块工程之间的jar包冲突问题,maven根据自己的内置原则自动处理冲突。 加载哪个版本jar包的原则 路径最短...

    目录

    一、依赖的传递性

    二、依赖原则

    三、依赖排除

    四、举例

    五、Tips

    六、其它maven相关博客


    一、依赖的传递性

    1. 好处:可以传递的依赖(compile范围)不必在每个模块工程中都重复声明,在“最下面”的工程中依赖一次即可。可参考:maven依赖范围
    2. 注意:非compile范围的依赖不能传递。所以在各个工程模块中,如果有需要就得重复声明依赖。

    二、依赖原则

    1. 一个工程(可以打成一个jar包或者war的模块)下,只会依赖某个jar包的一个版本,包括依赖传递过来的jar包(也会转化成其中的某一个版本)。
    2. 如果是打成war包,我们可以从war包的lib文件夹里看到,同一个jar包只依赖一个版本。
    3. 如果是打成jar包,该jar包所依赖的其它jar包是不打到这个jar包里面的。
    4. 解决模块工程之间的jar包冲突问题,maven根据自己的内置原则自动处理冲突。
    5. 加载哪个版本jar包的原则
      1. 路径最短者优先原则
      2. 先声明者优先:dependency标签的声明顺序

    三、依赖排除

    1. 一个工程依赖某个jar包,可以排除这个jar包依赖的某些jar包,但是并不是说这个工程不需要这个jar包了,而且在其它地方已经依赖了,或者依赖了可以替代的jar包
    2. 依赖排除的设置方式
      <dependency>
      	<groupId>xin.yangshuai.maven</groupId>
      	<artifactId>HelloFriend</artifactId>
      	<version>0.0.1-SNAPSHOT</version>
      	<scope>compile</scope>
      	<exclusions>
      		<exclusion>
      			<groupId>commons-logging</groupId>
      			<artifactId>commons-logging</artifactId>
      		</exclusion>
      	</exclusions>
      </dependency>

       

    四、举例

    1. 路径最短者优先原则
      1. 依赖顺序:SecondTest,ThirdTest,FirstTest:2.0
      2. 最终依赖的FirstTest版本:WebTest工程一共引入了3个FirstTest jar包,距离最近的是FirstTest:2.0,所以WebTest工程依赖的是FirstTest:2.0
      3. 注意:此时WebTest工程依赖的是FirstTest:2.0,war的lib文件夹下也是FirstTest:2.0,FirstTest:1.0并没有打到war包里面,所以在这个工程里面,SecondTest也变成依赖FirstTest:2.0了
    2. 先声明者优先:dependency标签的声明顺序
      1. 依赖顺序:SecondTest,ThirdTest
      2. 最终依赖的FirstTest版本:WebTest工程一共引入了2个FirstTest jar包,距离相同,FirstTest:1.0先声明,所以WebTest工程依赖的是FirstTest:1.0
      3. 注意:此时WebTest工程依赖的是FirstTest:1.0,war的lib文件夹下也是FirstTest:1.0,FirstTest:2.0并没有打到war包里面,所以在这个工程里面,ThirdTest也变成依赖FirstTest:1.0了
    3. 简单的测试工程,可以测试上面所说的内容:https://gitee.com/shuair/testMaven.git

    五、Tips

    1. 如有不对的地方还请告知,感激不尽

    2. 参考视频教程:http://www.gulixueyuan.com/my/course/42

    六、其它maven相关博客

    1. maven依赖范围:https://blog.csdn.net/shuair/article/details/105350415
    2. maven依赖传递性:https://blog.csdn.net/shuair/article/details/105401296
    3. maven统一依赖版本号:https://blog.csdn.net/shuair/article/details/105404764
    4. maven聚合:https://blog.csdn.net/shuair/article/details/105416365
    展开全文
  • Maven依赖排除 禁止依赖传递 取消依赖的方法 1. 项目间传递 &nbsp;&nbsp;&nbsp;...

    Maven依赖排除 禁止依赖传递 取消依赖的方法

    1. 项目间传递

        如果我的当前项目是project1,project1要依赖project2,project1依赖project2的配置中加上 <optional>true</optional>,表示依赖可选,

    <dependency>
      <groupId>com.projecct</groupId>
      <artifactId>project2</artifactId>
      <version>1.0</version>
      <scope>compile</scope>
      <optional>true</optional>
    </dependency>

     那么以后所有声明依赖project1的项目如果也依赖project2,就必须写手动声明。比如project3依赖project1和project2,如果project3只声明了对project1的依赖,那么project2不会自动加入依赖,需要重新声明对project2的依赖。

    这种方式排除不了我项目中对第三方jar包所依赖的其他依赖,因为我不可能去修改第三方jar包的pom文件,所以只适合在项目组内部使用。

    2. 依赖过滤

    (1)单依赖过滤

           同依赖过滤直接处理:可以过滤一个或者多个,如果过滤多个要写多个<exclusion>。这个也解决不了我的问题,或者说解决太麻烦,我那里知道hbase要依赖那些包,记不住。

    <dependency>    
      <groupId>org.apache.hbase</groupId>
      <artifactId>hbase</artifactId>
      <version>0.94.17</version> 
      <exclusions>  
         <exclusion>	 
           <groupId>commons-logging</groupId>		
           <artifactId>commons-logging</artifactId>  
         </exclusion>  
      </exclusions>  
    </dependency>

    (2)多依赖过滤

         把所以依赖都过滤了。手起刀落~啊,世界都安静了。

    <dependency>
      <groupId>org.apache.hbase</groupId>
      <artifactId>hbase</artifactId>
      <version>0.94.17</version>
      <exclusions>
        <exclusion>
          <groupId>*</groupId>
          <artifactId>*</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    原文来自:http://blog.csdn.net/jiesa/article/details/51777455
    展开全文
  • 大家都知道Maven的优点是依赖管理,特别是前期使用ANT的开发者都有很多感触。最近要开发一个java工程,定的要使用maven,会使用hadoop和hbase的客户端,而引入一个hadoop-client的jar或者hbase的jar包,会依赖十几个...
  • 一、手工排依赖前言直接输出冲突的jar文件:mvn dependency:tree -Dverbose > tree.logJar包冲突会遇到ClassNotFoundException,NoSuchFieldException,NoSuchMethodException 之类的运行时异常。处理方法确定...
  • 整合项目 最后 右键 项目 > maven> update Project 更新项目
  • 大家都知道Maven的优点是依赖管理,特别是前期使用ANT的开发者都有很多感触。最近要开发一个java工程,定的要使用maven,会使用hadoop和hbase的客户端,而引入一个hadoop-client的jar或者hbase的jar包,会依赖十几个...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 982
精华内容 392
关键字:

maven依赖排除