首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >J2EE反射类

J2EE反射类
EN

Stack Overflow用户
提问于 2014-01-16 16:21:28
回答 1查看 273关注 0票数 0

我使用反射来调用一个名为Child的类的构造函数,它需要包: org.apache.commons.lang3.ArrayUtils我已经将它添加到类路径中,并一直在其他地方使用它,但反射似乎看不到我的类路径。

错误: java.lang.NoClassDefFoundError: org/apache/commons/lang3/ArrayUtils

我已经搜索并看到了很多关于类加载器的文章,但我仍然不理解这些。有没有人能解释一下这个问题,以及如何尽可能清楚地解决这个问题?

代码语言:javascript
复制
//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")
      }
   }
}
EN

回答 1

Stack Overflow用户

发布于 2014-04-16 16:03:25

你的代码看起来没问题。您是否提供了您的类的完整限定名称作为claz_str。它应该是

代码语言:javascript
复制
claz_str = "com.package.Class";

希望能解决你的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21156598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档