[java] ClassNotFoundException 이 자꾸 나요...

조회수 803회

이미지

안녕하세요? 제가 자바이클립스를 통해 코딩을 하고있는데... 저만의 객체 (구체적으로는 MyButton) 을 정의해서 코드에서 사용하는데, 사진과 같이 엄연히 MyButton.java가 존재하는 데도 class를 찾을 수 없다고 다음과같은 에러가 납니다. 어떻게 하면 해결할 수 있을지 도와주실 수 있나요?

java.lang.ClassNotFoundException: MyButton
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351).....
  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • URLClassLoader.findClass()를 호출하실 때 예외가 발생한 것인가요? 인자로 "MyButton"를 넣으신거면 패키지 이름을 포함한 전체 이름을 넣어주세요.


    프로젝트 내부에 resource폴더를 만들어두고, MyButton을 .dat확장자 파일로 fileIn = new FileInputStream("resources/data/RRM.dat"); objIn = new ObjectInputStream(fileIn); 다음과 같이 불러오게끔 만들었습니다. 제가 부족함이 많아서 이해를 잘 못하겠습니다 ㅎㅎ 패키지 이름을 포함한 전체 이름이란건 무슨말씀이신가요?

    역직렬화 하는 과정에서 클래스를 찾지 못해서 발생하는 문제인가 보네요. 혹시 말씀하신 코드와 MyButton 클래스가 서로 다른 프로젝트에 있나요?

    아마 그러지는 않으셨을거 같은데 RRM.dat을 만들때 MyButton 클래스의 패키지 이름이 변경되었나요?

    • 프로젝트 내부에 resource폴더를 만들어두고, MyButton을 .dat확장자 파일로 fileIn = new FileInputStream("resources/data/RRM.dat"); objIn = new ObjectInputStream(fileIn); 다음과 같이 불러오게끔 만들었습니다. 제가 부족함이 많아서 이해를 잘 못하겠습니다 ㅎㅎ 패키지 이름을 포함한 전체 이름이란건 무슨말씀이신가요? 알 수 없는 사용자 2020.6.7 14:06
    • 내용 갱신하였습니다. 유동욱 2020.6.7 14:54

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)