Установить путь для Apache POI

Я хочу создать файл excel и записать данные в этот файл с помощью программы Java.

Это здесь, и я извлек POI Apache в том месте, где присутствует файл Java. и включил этот путь в переменной пути.

когда я пытаюсь скомпилировать его, выдает следующую ошибку:

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

person user2018083    schedule 28.01.2013    source источник
comment
вы используете IDE для этого проекта? Если да, то какой? Все IDE имеют функцию добавления сторонних библиотек в существующие проекты, и в большинстве случаев они автоматически настраивают ваш путь к классам.   -  person hovanessyan    schedule 28.01.2013
comment
добавить jar apache-poi.jar(3.7) в путь сборки   -  person swamy    schedule 29.01.2013
comment
я не использую никакую IDE. и я установил путь javac -cp /u01/isac/code/CWSA/isac/java/exportAPI/poi-3.9/poi-3.9-20121203.jar data.java в make ..when я пытаюсь выполнить ./make, он показывает, что не удалось загрузить атрибут манифеста основного класса из /u01/isac/code/CWSA/isac/java/exportAPI/poi-3.9/poi-3.9-20121203.jar   -  person user2018083    schedule 29.01.2013


Ответы (2)


Вы должны указать расположение jar в опции -cp javac:

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

Кроме того, вы можете использовать инструмент сборки для управления вашей зависимостью, например. maven или плющ для муравья.

person ericson    schedule 28.01.2013

Вы должны поместить файлы jar (poi lib) в свой путь к классам, а не в тот же каталог, что и ваш data.java. (кстати, это должен быть Data.java). Потому что у вас, скорее всего, есть собственная структура пакета, например com.myapp.

И переменная PATH не имеет ничего общего с путем к классам java. не имеет значения, если вы установите или отключите его.

person Kent    schedule 28.01.2013