Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 JAVA POI  [new]
Alien1405
Member

Откуда:
Сообщений: 24
Такая проблема, написал java процедуру для парсинга из blob-а excel файлов. Скачал себе poi-bin-3.5-FINAL-20090928 залил его с помощью javaload, написал он мне:

Classes Loaded: 0
Resources Loaded: 3739
Sources Loaded: 0
Published Interfaces: 0
Classes generated: 0
Classes skipped: 0
Synonyms Created: 0
Errors: 0

пытаюсь запустить процедуру в базе выдает ошибку: "Не может быть разрешен класс xx.ExcelReader"

Через таблицу USER_ERRORS смотрю ошибки по нему, пишет такое:
ORA-29535: источник требует перекомпиляции
ExcelReader:3: cannot access org.apache.poi.hssf.usermodel.HSSFWorkbook
bad class file: null
class file has wrong version 52.0, should be 49.0
Please remove or make sure it appears in the correct subdirectory of the classpath.
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
^
1 error

Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_30-b03)
Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_30-b03, mixed mode)

В чем может быть проблема?
6 ноя 19, 13:54    [22010732]     Ответить | Цитировать Сообщить модератору
 Re: JAVA POI  [new]
-2-
Member

Откуда:
Сообщений: 14994
Alien1405
В чем может быть проблема?
Alien1405
Classes Loaded: 0
6 ноя 19, 13:57    [22010736]     Ответить | Цитировать Сообщить модератору
 Re: JAVA POI  [new]
Alien1405
Member

Откуда:
Сообщений: 24
-2-,

А в чем может быть причина? Вроде все делаю по доке.
6 ноя 19, 15:08    [22010821]     Ответить | Цитировать Сообщить модератору
 Re: JAVA POI  [new]
Scott Tiger
Member

Откуда: вмваре
Сообщений: 6835
Alien1405

class file has wrong version 52.0, should be 49.0
...
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_30-b03)
Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_30-b03, mixed mode)


Это скомпилено под 1.8, а нужно перекомпилить под 1.5.

https://en.wikipedia.org/wiki/Java_class_file#General_layout

Java SE 14 = 58 (0x3A hex),
Java SE 13 = 57 (0x39 hex),
Java SE 12 = 56 (0x38 hex),
Java SE 11 = 55 (0x37 hex),
Java SE 10 = 54 (0x36 hex),[3]
Java SE 9 = 53 (0x35 hex),[4]
Java SE 8 = 52 (0x34 hex),
Java SE 7 = 51 (0x33 hex),
Java SE 6.0 = 50 (0x32 hex),
Java SE 5.0 = 49 (0x31 hex),
JDK 1.4 = 48 (0x30 hex),
JDK 1.3 = 47 (0x2F hex),
JDK 1.2 = 46 (0x2E hex),
JDK 1.1 = 45 (0x2D hex).
6 ноя 19, 15:21    [22010834]     Ответить | Цитировать Сообщить модератору
 Re: JAVA POI  [new]
Alien1405
Member

Откуда:
Сообщений: 24
Scott Tiger,

я скачивал POI 3.5 пишут что она вроде как под java 1.5
6 ноя 19, 15:29    [22010845]     Ответить | Цитировать Сообщить модератору
 Re: JAVA POI  [new]
Scott Tiger
Member

Откуда: вмваре
Сообщений: 6835
Ну посмотрите соответствующий class-файл, Вас интересуют 7 и 8 с начала файла байты.
6 ноя 19, 17:00    [22010939]     Ответить | Цитировать Сообщить модератору
 Re: JAVA POI  [new]
dmdmdm
Member

Откуда: Нижний Новгород
Сообщений: 1360
Давно их не пользовал, но вот пишут в сhangelog:

Version 3.11-beta1 (2014-08-04)

Dropped support for Java 1.5. Java 6 is now the minimum version required to run POI.
7 ноя 19, 08:33    [22011188]     Ответить | Цитировать Сообщить модератору
 Re: JAVA POI  [new]
-2-
Member

Откуда:
Сообщений: 14994
Alien1405
я скачивал POI 3.5 пишут что она вроде как под java 1.5
Это лишь указание на возможность использования минимальной версии. Ты скачивал опреледенную сборку -bin-, коя скомпилирована конкретным jdk и, вероятно, компилист не удосужился указать минимальный -release.
7 ноя 19, 08:49    [22011196]     Ответить | Цитировать Сообщить модератору
 Re: JAVA POI  [new]
Alien1405
Member

Откуда:
Сообщений: 24
Всем спасибо, разобрался, заработало, 3 дня конечно потратил но все же. Проблема в итоге была в том что сначала залил POI под JDK 1.6, при попытке подлить нужные валилось куча ошибок, проблема была в том что не могло перезаписать классы. Удалил в базе классы, залил под 1.4 и оно ожило)
8 ноя 19, 12:27    [22012231]     Ответить | Цитировать Сообщить модератору
 Re: JAVA POI  [new]
dmdmdm
Member

Откуда: Нижний Новгород
Сообщений: 1360
Насколько помню, есть ключик -force. Но чтоб мусора от предыдущей залитой версии не лежало, лучше удалить, да.
8 ноя 19, 13:10    [22012266]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить