Я использую отражение для вызова конструктора класса Child, для которого требуется пакет: org.apache.commons.lang3.ArrayUtils Я добавил его к пути к классу и использовал его еще где просто отлично, но отражение, похоже, не видит моего пути к классу.Класс отражения J2EE
Ошибка: java.lang.NoClassDefFoundError: орг/Apache// lang3 Commons/ArrayUtils
Я искал и видел много писать о загрузчике класса, но я до сих пор не понимаю. Может ли кто-нибудь объяснить проблему и как ее решить как можно яснее?
//main class:
try {
Class<?> claz = Class.forName(claz_str);
Parent p = (Parent) claz.getDeclaredConstructor(String.class, String[].class, String[].class).newInstance(elmName, nodes_arr, params_arr);
} catch (Exception e) {
throw new Exception(e.getCause());
}
// Child.class
import org.apache.commons.lang3.ArrayUtils;
public class Child extends Parent{
public Child(){
if(!ArrayUtils.contains(NUM_OF_PARAMS, 2)){ // <<====== run time error
System.out.println("stuff")
}
}
}