设置Apache POI的路径

时间:2013-01-28 13:12:54

标签: java linux apache-poi

我想创建excel文件并使用java程序在该文件中写入数据。

那是here并且我在存在java文件的位置提取了Apache POI。并在路径变量中包含该路径。

当我尝试编译它给出以下错误时:

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文件列表。在这个文件中我必须包含哪些文件?

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

2 个答案:

答案 0 :(得分:2)

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

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

此外,您可能希望使用构建工具来管理您的依赖关系,例如蚂蚁mavenivy

答案 1 :(得分:1)

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

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