运行时HSSFWorkbook类加载错误

时间:2015-11-17 16:12:57

标签: java excel java-ee apache-poi poi-hssf

当我尝试使用 poi 3.2 final 版本创建和编写工作簿时,我面临应用程序运行时期间 java.lang.NoClassDefFoundError 的常见问题(仅适用于.xls文件)。我已使用ejb和Web模块将此实用程序创建为企业应用程序项目。工作簿创建是通过EJB计时器触发的,该计时器在项目加载到服务器时启动。

班级org.apache.poi.hssf.usermodel.HSSFWorkbook的运行时间失败。 据我所知,库引用是根据我所知。我已将poi 3.2 final jar放在ejb/META-INF/lib/文件夹中。我还从Build路径的Order and Export选项卡添加了它,并在Java EE依赖项中引用。为了更好地衡量,我已将其放在网络项目的 web-inf/lib 文件夹中,但无济于事。

在同一个应用程序中,我也使用Jsoup jar。在上述位置引用后, Jsoup 工作正常。

奇怪的是,当我使用常规实用程序计时器创建与Web应用程序(动态Web项目)相同的服务时,不会发生此错误。工作簿已创建。 jar放在 web-inf/lib 文件夹中。

有人可以告诉我,这个jar在Web项目和企业项目中的引用方式有什么不同吗?

感谢您的耐心和帮助..

1 个答案:

答案 0 :(得分:0)

当我将罐子放入META-INF/lib时  EAR项目的文件夹,而不是EJB项目,并在库依赖项中引用它。