NoClassDefFoundError
플러그인이 없는 클래스를 요구하는 경우: 누락된 의존성, 불완전한 jar, 그리고 라이브러리 버전 간 충돌을 다뤄요.
업데이트 2026년 8월 13일
java.lang.NoClassDefFoundError: me/clip/placeholderapi/PlaceholderAPI
코드가 실행 환경에 없는 클래스를 참조했어요.
원인
- 의존성이 설치되지 않았어요. 위 예시에서는 PlaceholderAPI가 없어요 — PlaceholderAPI. 오류에 나오는 패키지 이름은 거의 항상 필요한 플러그인을 가리켜요:
me/clip/placeholderapi→ PlaceholderAPI,net/milkbowl/vault→ Vault,com/comphenix/protocol→ ProtocolLib. - 의존성은 설치됐지만 오래됐어요: 클래스가 더 새로운 버전에서 등장했어요.
- 손상된 jar: 파일이 완전히 다운로드되지 않았어요.
- 플러그인이 다른 코어용으로 빌드됐어요 그리고 가지고 있지 않은 클래스를 참조해요 — 호환성.
어떻게 해야 하나요
- 패키지에서 라이브러리를 확인하세요.
- 설치하거나 업데이트하세요 — Vault, ProtocolLib.
- 파일의 무결성이 확실하지 않다면 플러그인 파일을 다시 업로드하세요.
- 순서를 확인하세요: 의존성이 먼저 로드되어야 해요 — 보통
plugin.yml에 선언되어 있으면 자동으로 처리돼요.
비슷한 오류
ClassNotFoundException — 클래스 조회 단계에서 같은 문제예요. NoSuchMethodError — 클래스는 있지만 메서드가 사라졌어요: 버전 불일치예요 — NoSuchMethodError.
Minecraft 호스팅오프라인일 때도 서버가 실행돼요서버 만들기
