Java ClassNotFound异常

时间:2011-04-12 14:56:36

标签: java exception

我的应用程序尝试执行以下代码行


JMFSecurity jmfSecurity = JMFSecurityManager.getJMFSecurity();

该行抛出以下异常。这是一个堆栈跟踪:


Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/media/JMFSecurityManager
        at com.compunetix.vsd.stix.main.JMFUtilities.Registry.(Registry.java:71)
        at com.compunetix.vsd.stix.main.JMFUtilities.JMFRunner.getJMFPropertiesFileLocation(JMFRunner.java:129)
        at com.compunetix.vsd.stix.main.Main.setUpJMF(Main.java:274)
        at com.compunetix.vsd.stix.main.Main.main(Main.java:166)
Caused by: java.lang.ClassNotFoundException: com.sun.media.JMFSecurityManager
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        ... 4 more

为什么这可能会引发异常的任何想法。这曾经很好。我没有对此文件进行任何更改。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

ClassNotFoundException表示该类不在您的类路径中。

您正在使用com.sun包中的类。这些类是实现细节,而不是公共API。您可能已切换到以不同方式实现事物的JVM版本。通常,取决于com.sun类是一个坏主意。

答案 1 :(得分:1)

当堆栈跟踪状态时,找不到类com.sun.media.JMFSecurityManager。它可能是你的类路径中遗漏的,所以检查一下。