编译Java文件遇package org.apache.poi.hssf.usermodel不存在错误的求助
解决编译时找不到Apache POI包的问题
以下是几个排查和解决的方向:
检查Jar文件的正确性与路径
首先确认Jarfiles文件夹里存在poi.jar——这是包含org.apache.poi.hssf.usermodel包的核心Jar,别只放了处理xlsx格式的poi-ooxml.jar。另外要注意命令执行的当前目录:如果你的Xls_Reader.java在src文件夹内,而Jarfiles是src的同级目录,那classpath路径要写成../Jarfiles/*;如果Jarfiles就在src里,路径才是Jarfiles/*。修正classpath的写法
不同系统对通配符的支持不一样:- Windows的cmd不支持
*直接匹配Jar,得手动指定具体文件名,比如:
多个Jar用分号分隔。javac -cp Jarfiles/poi.jar;Jarfiles/poi-scratchpad.jar Xls_Reader.java - Linux/macOS下如果通配符没生效,试试把路径用引号包裹,或者直接列出Jar:
多个Jar用冒号分隔。javac -cp "Jarfiles/poi.jar:Jarfiles/poi-scratchpad.jar" Xls_Reader.java
- Windows的cmd不支持
核对导入语句
检查代码里的导入是否拼写正确,比如是不是写成了org.apache.poi.hssf.usermodel.*,有没有把hssf写错成其他拼写。验证Jar文件完整性
如果以上都没问题,可能是下载的Jar损坏了,重新下载对应版本的Apache POI二进制包,把里面的核心Jar放到Jarfiles文件夹里再试。
内容的提问来源于stack exchange,提问作者Shawn
相关产品推荐
相关产品推荐

