Работая с библиотекой dnsjava , я столкнулся с неприятной и сбивающей с толку проблемой, когда я могу правильно вызвать Type.A
, но при вызове Type.value(str)
выдается java.lang.NoClassDefFoundError
.
System.out.println(org.xbill.DNS.Type.A); // works
if (org.xbill.DNS.Type.value(type) == -1) { // throws NoClassDefFoundError
/* logic */
}
Этот код выполняется из jar
, и другие классы в банке правильно используют библиотеку.
Почему и как это могло произойти?Как я могу отладить это дальше?
Спасибо!
РЕДАКТИРОВАТЬ
Джон Скит был прав.Друг показал мне, как использовать javap -c
, и я изменил значение на что-то более отчетливое, Type.AAAA, значение которого равно 28:
878: getstatic #116; //Field java/lang/System.out:Ljava/io/PrintStream;
881: bipush 28