为什么我的类加载器会抛出ClassNotFoundException?

时间:2015-04-01 06:02:41

标签: java reflection jar classpath

我有一个abc.jar,我正在使用反射加载一个类。但是我得到了ClassNotFoundException。我的代码如下:

File file1 = new File(ApplicationContext.getPath()+"lib/abc.jar");
            Class noparams[] = {};
            URL url = file1.toURI().toURL();
            URL[] urls = new URL[]{url};
            @SuppressWarnings("resource")
            ClassLoader cl = new URLClassLoader(urls);
            cls = cl.loadClass("com.abcd.feat.udf.MobileUDF");
            Constructor<?> c = cls.getConstructor();
            mobileUDFActions = c.newInstance();         

我已经验证了jar存在于ApplicationContext.getPath()/ lib文件夹中。

jar的内容是合适的。它包含com / abcd / feat / udf包中的类。

请帮我弄清楚这是什么错误。我超越了例外。

java.lang.ClassNotFoundException: com.abcd.feat.udf.MobileUDF
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at com.abcd.feat.core.TestScriptExecutor.<init>(TestScriptExecutor.java:85)

0 个答案:

没有答案