我的应用程序尝试执行以下代码行
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
为什么这可能会引发异常的任何想法。这曾经很好。我没有对此文件进行任何更改。有什么想法吗?
答案 0 :(得分:2)
ClassNotFoundException
表示该类不在您的类路径中。
您正在使用com.sun
包中的类。这些类是实现细节,而不是公共API。您可能已切换到以不同方式实现事物的JVM版本。通常,取决于com.sun
类是一个坏主意。
答案 1 :(得分:1)
当堆栈跟踪状态时,找不到类com.sun.media.JMFSecurityManager
。它可能是你的类路径中遗漏的,所以检查一下。