2011-04-12 5 views
0

내 응용 프로그램 코드자바면 ClassNotFound 예외

 

JMFSecurity jmfSecurity = JMFSecurityManager.getJMFSecurity(); 
 

그 라인은 다음과 같은 예외를 throw의 다음 줄을 실행하려고합니다. 다음은 스택 추적입니다.

 

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 클래스에 따라 나쁜 생각입니다.

+0

예, 클래스 경로에 문제가 있습니다. – user489041

1

스택 추적 상태로 클래스 com.sun.media.JMFSecurityManager 찾을 수 없습니다. 아마도 수업 경로에서 빠졌을 것입니다. 그래서 이것을 확인하십시오.