如何用IDEA解决maven项目中easypoi的NoClassDefFoundError包冲突问题?

2026-05-15 23:361阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计447个文字,预计阅读时间需要2分钟。

如何用IDEA解决maven项目中easypoi的NoClassDefFoundError包冲突问题?

在日常工作中,我们常会遇到maven依赖的jar包冲突问题。这时,我们需要找出冲突的包,并删除低版本或缺少某些方法的jar包。使用IDEA自带的maven依赖树,可以很好地解决这个问题。

在平常工作中我们经常会遇到maven引用的jar包冲突的事情,这时候我们就需要找出冲突的包,并将低版本或者缺少某些方法的jar给剔除掉。这个时候使用idea自带的maven依赖树就很好解决这样的问题。

包冲突显现出来的问题有:某些类找不到。

原因:工程中引入了一个需要的依赖,但工程中其他依赖的包内部也可能会有相同的依赖,如果版本不同maven可能取了一个低的版本,然后可能造成某个类找不到。

比如:

在工程中引入了easypoi jar,要使用Excel导出功能。

<dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-spring-boot-starter</artifactId> <version>4.1.2</version> </dependency> 上述jar 内部依赖 apache-poi 版本 4.1.0 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.0</version> </dependency>

我的工程中有个公司的公用的jar,内部依赖了apache-poi 3.x

如何用IDEA解决maven项目中easypoi的NoClassDefFoundError包冲突问题?

编写代码时没问题,运行调用相关接口报错如下

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: org/apache/poi/hssf/util/HSSFColor$HSSFColorPredefined
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1055)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
at javax.servlet.segmentfault.com/a/1190000019364264

到此这篇关于IDEA解决maven包冲突easypoi NoClassDefFoundError的问题的文章就介绍到这了,更多相关IDEA maven包冲突内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

本文共计447个文字,预计阅读时间需要2分钟。

如何用IDEA解决maven项目中easypoi的NoClassDefFoundError包冲突问题?

在日常工作中,我们常会遇到maven依赖的jar包冲突问题。这时,我们需要找出冲突的包,并删除低版本或缺少某些方法的jar包。使用IDEA自带的maven依赖树,可以很好地解决这个问题。

在平常工作中我们经常会遇到maven引用的jar包冲突的事情,这时候我们就需要找出冲突的包,并将低版本或者缺少某些方法的jar给剔除掉。这个时候使用idea自带的maven依赖树就很好解决这样的问题。

包冲突显现出来的问题有:某些类找不到。

原因:工程中引入了一个需要的依赖,但工程中其他依赖的包内部也可能会有相同的依赖,如果版本不同maven可能取了一个低的版本,然后可能造成某个类找不到。

比如:

在工程中引入了easypoi jar,要使用Excel导出功能。

<dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-spring-boot-starter</artifactId> <version>4.1.2</version> </dependency> 上述jar 内部依赖 apache-poi 版本 4.1.0 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.0</version> </dependency>

我的工程中有个公司的公用的jar,内部依赖了apache-poi 3.x

如何用IDEA解决maven项目中easypoi的NoClassDefFoundError包冲突问题?

编写代码时没问题,运行调用相关接口报错如下

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: org/apache/poi/hssf/util/HSSFColor$HSSFColorPredefined
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1055)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
at javax.servlet.segmentfault.com/a/1190000019364264

到此这篇关于IDEA解决maven包冲突easypoi NoClassDefFoundError的问题的文章就介绍到这了,更多相关IDEA maven包冲突内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!