当我尝试使用 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项目和企业项目中的引用方式有什么不同吗?
感谢您的耐心和帮助..
答案 0 :(得分:0)
当我将罐子放入META-INF/lib
时
EAR项目的文件夹,而不是EJB项目,并在库依赖项中引用它。