设置Apache POI的path

我想创buildExcel文件,并使用Java程序在该文件中写入数据。

这是在这里 ,我解压Java POI的地方在哪里存在的Java文件,并包括pathvariables中的path。

当我尝试编译它提供以下错误:

data.java:3: package org.apache.poi.hssf.usermodel does not exist import org.apache.poi.hssf.usermodel.HSSFCell; ^ data.java:4: package org.apache.poi.hssf.usermodel does not exist import org.apache.poi.hssf.usermodel.HSSFCellStyle; ^ data.java:5: package org.apache.poi.hssf.usermodel does not exist import org.apache.poi.hssf.usermodel.HSSFRichTextString; ^ data.java:6: package org.apache.poi.hssf.usermodel does not exist import org.apache.poi.hssf.usermodel.HSSFRow; ^ data.java:7: package org.apache.poi.hssf.usermodel does not exist import org.apache.poi.hssf.usermodel.HSSFSheet; ^ data.java:8: package org.apache.poi.hssf.usermodel does not exist import org.apache.poi.hssf.usermodel.HSSFWorkbook; ^ data.java:11: package org.apache.poi.hssf.usermodel does not exist import org.apache.poi.hssf.usermodel.HSSFFont; ^ data.java:12: package org.apache.poi.ss.usermodel does not exist import org.apache.poi.ss.usermodel.IndexedColors; ^ 

这是Poi files.in这哪一个我必须包括列表?

 root@:[/u01/isac/code/CWSA/isac/java/exportAPI/poi-3.9] $ ll total 9044 -rw-r--r-- 1 root root 27138 Nov 25 15:23 LICENSE -rw-r--r-- 1 root root 890 Nov 25 15:23 NOTICE drwxr-xr-x 16 root root 4096 Nov 26 17:22 docs drwxr-xr-x 2 root root 4096 Nov 26 17:22 lib drwxr-xr-x 2 root root 4096 Nov 26 17:22 ooxml-lib -rw-r--r-- 1 root root 1869113 Nov 26 17:22 poi-3.9-20121203.jar -rw-r--r-- 1 root root 309368 Nov 26 17:22 poi-examples-3.9-20121203.jar -rw-r--r-- 1 root root 30446 Nov 26 17:22 poi-excelant-3.9-20121203.jar -rw-r--r-- 1 root root 936648 Nov 26 17:22 poi-ooxml-3.9-20121203.jar -rw-r--r-- 1 root root 4802621 Nov 26 17:22 poi-ooxml-schemas-3.9-20121203.jar -rw-r--r-- 1 root root 1226511 Nov 26 17:22 poi-scratchpad-3.9-20121203.jar 

您应该在javac的-cp选项中指定jar位置:

 javac -cp /path/to/your/jar/poi-<version>.jar data.java 

此外,您可能需要使用构建工具来管理您的依赖关系,例如maven或ivy for ant。

你必须把jar文件(poi lib)放在你的类路径中,而不是你的data.java所在的目录。 (顺便说一句,它应该是Data.java)。 因为你很可能有你自己的包结构,比如com.myapp

而PATH变量与java classpath无关。 如果您设置或取消设置,则没有任何区别。