Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在动态类加载中使类可以从类路径访问_Java_Classpath - Fatal编程技术网

Java 在动态类加载中使类可以从类路径访问

Java 在动态类加载中使类可以从类路径访问,java,classpath,Java,Classpath,我在Eclipse中创建了一个项目,我为动态类加载定义了一个接口和一个类,该类位于项目目录中, 因此,我的项目中有以下代码: if (handlerClassName != null) { TypeHandler typeHandler = null; try { typeHandler = (TypeHandler) (Class.forName(handlerClassName).newInst

我在Eclipse中创建了一个项目,我为动态类加载定义了一个接口和一个类,该类位于项目目录中, 因此,我的项目中有以下代码:

if (handlerClassName != null) 
    {
         TypeHandler typeHandler = null;
         try {
             typeHandler = (TypeHandler) 
            (Class.forName(handlerClassName).newInstance());
但我有一个例外: java.lang.ClassNotFoundException:“handlerClassName”

我应该怎么做才能让JVM识别项目中的类“handlerClassName”


谢谢

使用包含整个包的完整限定类名,例如
java.lang.String
,而不是像
String
这样的短名称。如果它实际上不在包中,则修复它,使其位于包中。对于包中的类来说,无包类是不可见的。

谢谢Balusc,你说得对,我不得不将其更改为(Class.forName(“homework4.”+handlerClassName).newInstance();现在开始工作了,不客气。然而,根据,类名应该以大写字母开头。我在项目中使用大写字母,handlerClassName只是一个别名。很好。以后要尽量避免这种花言巧语:)我还有一个问题,但我现在知道答案了。