工作积累(十)——maven排除相关jar包依赖

maven 工程中引用到了一个 jar commons-io-2.4.jar,由于被引用的 jar 包依赖 hibernate-jpa-2.0-api ,而 hibernate-jpa-2.0-api 存在 bug ,会报出

Error: java.lang.NoSuchMethodError:javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey;

java.lang.NoSuchMethodError:javax.persistence.Table.indexes()[Ljavax/persistence/Index;

类似的错误。由于主工程同样存在对 hibernate-jpa-2.0-api 的依赖,先将主工程的 pom.xml 修改,在 MyEclipse 中的 MavenDependencies 中发现仍然存在 hibernate-jpa-2.0-api-1.0.1.Final.jar 的引用,显而易见,这个存在 bug hibernate-jpa 版本是由 commons-io-2.4.jar 依赖引入的,为排除该依赖,在主工程的 pom.xml 文件中对依赖做如下修改:

修改前:

<dependency>
  <groupId>commons-io</groupId>
  <artifactId>commons-io</artifactId>
  <version>2.4</version>
</dependency>

修改后:

<dependency>
  <groupId>commons-io</groupId>
  <artifactId>commons-io</artifactId>
  <version>2.4</version>
  <!-- 添加排除tag -->
  <exclusions>
    <exclusion>
      <groupId>org.hibernate.javax.persistence</groupId>
      <artifactId>hibernate-jpa-2.0-api</artifactId>
    </exclusion>
    <!-- 和<dependency>tag相同,可以添加多个<exclusion>排除多个依赖 -->
   </exclusions>
</dependency>

 现在在 MyEclipse 中的 Maven Dependencies 中发现已经没有了对 hibernate-jpa-2.0-api.jar  的引用。

 

 补充:

 如何发现 commons-io-2.4.jar 依赖 hibernate-jpa-2.0-api.jar ,通过 MyEclipse pom.xml  文件下的 Dependency Graph 视图,如下图所示:

 wKiom1WmO6rxV10LAAM1k69qxZo152.jpg

 通过 Dependency Graph 可以看出具体 jar 包依赖哪些其他 jar 包。

 

 完。

本文出自 “细桶假狗屎” 博客,请务必保留此出处http://xitongjiagoushi.blog.51cto.com/9975742/1675092

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值