ПОМИЛКА: JDWP Не вдається отримати середовище JNI 1.2


74

Я отримую цю помилку після налагодження в Eclipse. Однак налагодження успішне.

ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2
JDWP exit error AGENT_ERROR_NO_JNI_ENV(183):  [../../../src/share/back/util.c:820]

Що це означає?


Я стикаюся з точно такою ж проблемою в NetBeans 6.1, намагаючись налагодити фрагмент коду, який використовує як мережу, так і API зображень. Ви намагалися випадково використовувати мережу або API зображень?
Усі

Я точно не використовував API зображень. Що ви маєте на увазі під використанням мережі? Я використовував розетки, якщо це те, що ви маєте на увазі.
Карлос Бланко,

Так; Мережеві API - це те, що я мав на увазі - Sockets / Http
всіх

Відповіді:


36

Схоже на http://bugs.sun.com/view_bug.do?bug_id=6476706, який має низький пріоритет і досі не виправлений. Безумовно, помилка Mustang, але немає чітких пояснень (схоже, трапляється досить випадково, за повідомленням журнальних репортерів).


За цією URL-адресою я отримую повідомлення "Ця помилка недоступна". Чи правильний номер помилки? Або помилку видалено?
MarnixKlooster ReinstateMonica

@MarnixKlooster, помилка з’являється для мене разом із подробицями про неї.
Xonatron

@EaterOfCorpses А тепер повернувся: D
Боанн

1
Радий бачити, що станом на листопад 2015 року це все ще не виправлено.
Stacky

1
Привіт! Людина з 2018 року тут. Я щойно зіткнувся з помилкою: p
Swastik Raj Ghosh

79

Просто додайте System.exit(0); до кінця свій основний метод.

Це все, що вам потрібно зробити.


1
Я спробував це, і це спрацювало. Але потім я вийняв його, і це все одно спрацювало. З прийнятого вище рішення виходить, що це може бути проблемою з термінами, через яку це дуже важко постійно відтворювати.
Xonatron

Це працює для мене .. Я також використовую java-версію "1.6.0_29" Java (TM) SE Runtime Environment (збірка 1.6.0_29-b11)
angryITguy

Я отримую той самий результат, що і @Xonatron. Дивно!
Федерер

1
звучить як виправлення проблеми з потоками, додаючи там і там режим сну
Ньютопіан,

@Xonatron Що робити, якщо помилка не виникає в основному класі?
Мохаммадреза Хатамі

4

Очевидно, це помилка JVM. Це нешкідливо і непередбачувано.


3
Хм, не настільки нешкідливий, це призвело до того, що моя програма спонтанно провалилася.
Стів Беннетт,

7
Хм, загалом це означає "щось інше спричинило збій вашої програми", а потім робить це на виході, але, я гадаю, може бути щось нове.
bmargulies

Це повинно статися під час вимкнення JVM. Отже, вашу програму все одно було зроблено.
Флоріан F

3

Буває щось таке просте, як цей підручник

//trim spaces
String s2 = "Welcome!";
int len1 = s2.length();
System.out.println(len1);
String s3 = s2.trim();
System.out.println(s3.length());

Буває, якщо запустити програму занадто швидко кілька разів, так що щось спільне з продуктивністю системи?

ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2
JDWP exit error AGENT_ERROR_NO_JNI_ENV(183):  [../../../src/share/back/util.c:838]

0

@ Усі, хто стикається з цією проблемою, використовуючи API читання та записування файлів через мережу, коли я запускаю програму, яка працює з локальними файлами, цього не відбувається. Перевіривши свої результати, я підтвердив, що це насправді не завдає шкоди (принаймні, під час моєї налагодження). Тепер, коли я читаю цей пост, я перестав його розглядати.


0

Я помітив, що це відбувається, коли я використовую робочу область, що зберігається на моєму USB-накопичувачі, а іноді і в робочій мережі. Це не головна проблема, і, здається, не впливає на виконання будь-якої з моїх програм. Я протестував рішення @Vasile Surdu щодо додавання System.exit(0);до кінця основного методу, і воно працює. Another solution is to restart eclipseщо працює у мене більшу частину часу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.