Unsupportedclassversionerror: jvmcfre003 неверная основная версия; класс=, смещение=6

imendan

Well-known member
22.09.2010
116
0
#1
Приветствую, Господа! Поднимаю старый вопрос, пытаюсь в Lotus Designer 9.0.1 создать Java-агент, который тянет классы из импортированного .jar файла. Выходит ошибочка
Exception in thread "AgentThread: JavaAgent" java.lang.UnsupportedClassVersionError: JVMCFRE003 неверная основная версия; класс=, смещение=6
Код:
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:287)
at java.lang.ClassLoader.defineClass(ClassLoader.java:224)
at lotus.domino.AgentLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(ClassLoader.java:638)
at java.lang.J9VMInternals.verifyImpl(Native Method)
at java.lang.J9VMInternals.verify(J9VMInternals.java:72)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:134)
at egov.New(Unknown Source)
at JavaAgent.NotesMain(Unknown Source)
at lotus.domino.AgentBase.runNotes(Unknown Source)
at lotus.domino.NotesThread.run(Unknown Source)
Вот, сообственно, так пытаюсь вызвать...
Java:
MainClass test = new MainClass();
test.init();
Эта тема создавалась в http://codeby.net/forum/threads/50673/. Но решения так и не озвучены. Прошу помощи
 

alexas1

Lotus team
10.04.2014
723
144
#2
Похоже импортится скомпиленное на старой версии JDK
Резюм - перекомпилить
 

garrick

Lotus team
26.10.2009
894
61
#4
Версия импортированного JAR файла выше, чем версия вашего проекта. См. меню Project->Properties->Java Compiler. По-умолчанию там всегда стоит 1.5 с совместимостью с 1.4. Сделайте как на скрине. Но если версия вашего JAR файла больше, чем 1.6, то вам ничего не поможет - только перекомпиляция JAR с версией 1.6 или найдите версию библиотеки постарее.
 

Вложения

imendan

Well-known member
22.09.2010
116
0
#5
Версия импортированного JAR файла выше, чем версия вашего проекта. См. меню Project->Properties->Java Compiler. По-умолчанию там всегда стоит 1.5 с совместимостью с 1.4. Сделайте как на скрине. Но если версия вашего JAR файла больше, чем 1.6, то вам ничего не поможет - только перекомпиляция JAR с версией 1.6 или найдите версию библиотеки постарее.
Уже ни раз пытался, но после перезагрузки клиента Designer настройки переходят в изначальный вид (1.5). Где-то вычитал, что разработчики Lotus специально так сделали.
 

imendan

Well-known member
22.09.2010
116
0
#7
@imendan, попробуй
JavaCompilerTarget=1.6
Для просмотра контента необходимо: Войти или зарегистрироваться

Данная настройка не должна быть последней в файле
Пробовал ((( Увы и ах... Даже не знаю, или руки мои кривые. Перегружаю клиента, все равно проставляется 1.5. Хоть застрелиться (((
 

garrick

Lotus team
26.10.2009
894
61
#8
@imendan, я чего-то не понял. Ваш вопрос касается одного конкретного агента, который выдаёт ошибку java.lang.UnsupportedClassVersionError или настроек всего Дизайнера в целом?
 

imendan

Well-known member
22.09.2010
116
0
#9
@imendan, я чего-то не понял. Ваш вопрос касается одного конкретного агента, который выдаёт ошибку java.lang.UnsupportedClassVersionError или настроек всего Дизайнера в целом?
Этот вопрос касается конкретного агента, при запуске которого выходит ошибка. Как решение данной ошибки предполагалось изменить настройки Дизайнера, но как видите не получается и это сделать.
 

garrick

Lotus team
26.10.2009
894
61
#10
@imendan, Я вас не понимаю. Вам же дали рецепт. Открываете своего агента, открываете меню Project-Properties... делаете настройки как в моём сообщении выше, компилируете ваш агент, закрывает и запускаете. Что из этого не работает? Что не получается?
 

imendan

Well-known member
22.09.2010
116
0
#11
@imendan, Я вас не понимаю. Вам же дали рецепт. Открываете своего агента, открываете меню Project-Properties... делаете настройки как в моём сообщении выше, компилируете ваш агент, закрывает и запускаете. Что из этого не работает? Что не получается?
Все понятно! Проблема с клиентом на моем рабочем месте. Версия Java Compling не меняется. Те же самые действия произвел на домашнем ноуте, все успешно поменялось и апплет заработал. Буду переустанавливать клиента. Благодарю всех за помощь, @garrick @savl @alexas1
 

imendan

Well-known member
22.09.2010
116
0
#12
И все же проблема не решилась. Версия компилинга проекта поменялась (Project-Properties... ), но версию компилинга клиента (File - Preferences - Java - Compiler) поменять не получается никак. Пробовал на нескольких клиентах - везде такая же ситуация.
Выходит та же ошибка (UnsupportedClassVersionError: JVMCFRE003 неверная основная версия; класс=, смещение=6)
Я изрядно помучался. Получил по просьбе сборку апплета Джава версией 1.5, но выходит другая ошибка - NoClassDefFoundError: javax.smartcardio.CardException. Я в билд паф указал ссылку на апплет (в Жава директории), содержащий этот класс и у меня снова выходит ошибка о смещении версии = 6. В апплете (Жавы 1.5) этого класса еще не было. Капец, круговорот одного и того же. Помогите, мне пожалуйста. Есть мой скайп, ник - Strelog. Буду добр, если кто сможет помочь через демонстрацию... Прошу, я в глубокой печали, Господа!!!
 

garrick

Lotus team
26.10.2009
894
61
#13
Ещё раз по шагам:
1. Версия Domino Designer 8.5 или выше;
2. Свойства проекта настраиваем как рекомендовано Project->Properties->Java Compiler-> 1.6 (как на картинке выше);
3. Копилим нашего агента в этом проекте:

Применяем готовый агент по назначению и радуемся.
Я никак не могу понять что вы там пытаетесь настроить и что у вас не получается.
но версию компилинга клиента (File - Preferences - Java - Compiler) поменять не получается никак. Пробовал на нескольких клиентах - везде такая же ситуация.
Зачем это?
Выходит та же ошибка (UnsupportedClassVersionError: JVMCFRE003 неверная основная версия; класс=, смещение=6)
Это уже при запуске агента собранного в соответствии с рекомендациями настройки проекта? Вы его вообще скомпилили с указанными настройками?
 

garrick

Lotus team
26.10.2009
894
61
#15
@imendan,
  1. Открываете код агента в дизайнере;
  2. Делаете настройки проекта, как описано. Если вы уже делали это ранее, настройки должны были сохраниться. Проверьте, что всё правильно.
  3. В меню Project, напротив пункта Build Automatically должна стоять галочка;
  4. Внесите какие-либо изменения в код агента (добавьте пустую строку или напишите что-то, а потом удалите);
  5. Закрываете агента. При закрытии должно спросить о сохранении. Если не спрашивает, значит вы ничего не меняли и дизайнер не будет компилировать код агента.

Всё!
 

imendan

Well-known member
22.09.2010
116
0
#16
@garrick

Аккуратно все выполняю, соблюдая все детали. В результате то же смещение версии.
Я могу организовать сессию через Тимвьюер. Все что угодно... Так больше не может продолжаться. Мне уже сниться кодебай.форум )))
 

garrick

Lotus team
26.10.2009
894
61
#17
Остаётся только предположить, что тот JAR файл, который вы пытаетесь "прикрутить" к агенту собран версией 1.7 или 1.8. Общий смысл этой ошибки - версии библиотек выше, чем версия проекта. По дефлоту лотус делает Java проекты в версии 1.5 (мы с вам настройками проекта подняли версию до 1.6). Если ваши библиотеки (JAR файлы), которые вы подключаете к проекту, имеют версию более 1.6, вы получите подобную ошибку. Поднять версию Java в Lotus Notes выше 1.6 на текущий момент невозможно. Если библиотека имеет исходные коды, перекомпилите её.
 

savl

Lotus team
28.10.2011
2 131
102
#18
@garrick,
@imendan,
в дизайнер можно подключить внешнюю JRE, которая установлена на компе.
Preference -> Java -> Istalled JRE
Но как использовать это я не нашел... Возможно это для плагинов и xpage только
 

garrick

Lotus team
26.10.2009
894
61
#19
@savl, дизайнер, по большому счёту, это обычный Eclipse, подключить к нему можно всё что угодно, но Lotus Notes всегда будет запускаться только со своей JVM.
 

proteam

Well-known member
02.03.2012
144
1
#20
Уважаемые форумчане, нашли решение? У меня точно такая же ситуация как у @imendan . Не могу никак поднять версию JDK. У меня есть внешний .JAR, собранный для 1.6. Но при запуске выходит ошибка как в названии темы.
Меняю настройки (рис 1), сохраняю, билд. Открываю заново - снова 1.5 (рис 2)

ЗЫ: Я пытаюсь поменять в данный момент JDK у дефолтного агента, без сторонних jar файлов. Все равно не могу(
 

Вложения

  • 36.3 КБ Просмотры: 10
  • 41.3 КБ Просмотры: 9
Последнее редактирование модератором: