工作积累(十)——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 视图,如下图所示:

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

完。

时间: 2024-12-12 16:28:19

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

(十)maven之排除冲突jar包

排除冲突jar包 jar包冲突 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>5.0.6.RELEASE</version> </dependency> </dependencies> 在pom.xml中添加上

java框架-----spring框架------在自己的项目中如何用maven管理spring相关jar包

1.文章内容概述: spring框架是支持maven的,因为spring框架的所有模块打包而成的jar包以及spring所依赖的其他jar包都被存放了一份在maven的中央仓库中,如果你的项目使用maven进行管理,那么你就可以在你的项目中通过maven来引入你的项目所依赖的spring相关的jar包或其他依赖库. 2.spring框架中maven相关的东西: 概述:使用maven管理spring相关的jar包,需要在pom.xml中配置groupId.artifactId之类的东西,只有在po

maven添加jar包依赖

maven的东西使用了一段时间,但是每次使用都多少有点含糊,所以总结一下. 目前主要使用是在jar包的控制上 原理: 在本地,指定一个文件夹,便是maven的仓库,maven会从远程的中央仓库中下载你需要的jar资源到你本地,然后通过maven关联,讲jar包依赖到你的项目中,避免了你需要将jar包拷贝到lib中,并通过classpath引入这些jar包的工作. 使用优点: 方便添加项目依赖的jar包,比如,你需要使用spring-mvc,那么,你必须引入spring-mvc及其相关的所有jar

Failed to read artifact descriptor for xxx:jar 的Maven项目jar包依赖配置的问题解决

在开发的过程中,尤其是新手,我们经常遇到Maven下载依赖jar包的问题,也就是遇到“Failed to read artifact descriptor for xxx:jar”的错误. 对于这种非业务相关的问题,耽误时间非常不效率,而且网上的解决思路过于老套,而且还没什么用. 1)要么就是,删除仓库内对应依赖的文件夹,右单击项目,Maven4MyEclipse->Update Project,在弹出的对话框中选择“Force Update Of Snapshots/Releases",

Maven工程引入jar包(转)

Maven项目引入jar包的方法,希望能帮助有需要的朋友们 法一.手动导入:项目右键—>Build Path—>Configure Build Path—>选中Libraries—>点击Add External Jars—>选中已事先下好的Jar包导入即可. 法二.通过pom.xml文件的Dependencies标签进行添加 打开maven工程的pom.xml文件.我们可以看到下面有7个标签 Overview:显示maven项目的一些基本信息 Dependencies:添加j

转:maven项目添加jar包.

很多新手都不知道如何在maven项目里添加jar包. 以前我还没接触maven的时候下载过一个demo,是maven项目. 我居然是照着他的pom.xml文件一个一个的写!!! 很多人认为理所当然的东西对于初学者却是一个很难迈过去的门槛. 所以简单的写下如何在maven项目中添加jar包. 根据 配合m2eclipse创建一个标准的maven web项目.这篇blog,我们创建了一个基于maven的web项目. 创建后我们如何添加jar包呢? 点击pom.xml文件.我们可以看到下面有7个标签.

Maven工程引入jar包

Maven项目引入jar包的方法,希望能帮助有需要的朋友们 法一.手动导入:项目右键—>Build Path—>Configure Build Path—>选中Libraries—>点击Add External Jars—>选中已事先下好的Jar包导入即可. 法二.通过pom.xml文件的Dependencies标签进行添加 打开maven工程的pom.xml文件.我们可以看到下面有7个标签 Overview:显示maven项目的一些基本信息Dependencies:添加ja

maven 多个jar包版本依赖问题

maven 中使用jar包的多个版本容易造成依赖问题,解决问题的方式可以将 使用jar包的版本排除掉,比如dubbo使用netty 4.0.33版本可以将dubbo排除掉 netty依赖,这样其他jar包就不会引用到netty4.0.33版本了. 如下: <dependency> <groupId>com.jd</groupId> <artifactId>jsf</artifactId> <version>1.6.0</vers

【Java Web】Myeclipse下运用maven管理项目jar包

Java Web开发的人都知道经常会为缺少各种jar包而烦恼,经常要去各种地方下载.用maven来管理项目的jar包,就非常方便了,maven会自动帮你下载所需要的各种jar包. 下面就来介绍一下在Myeclipse下运用maven: 1.maven的环境变量配置 maven在官网下载后,百度一下环境变量的配置,然后在命令行检测一下配置是否正确.可以参考jdk的配置与检测. 2.Myeclipse中配置maven环境 2.1在Myeclipse中点击:Window-->Preferences,出