인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

kkangssil님의 프로필 이미지

작성한 질문수

실리콘밸리 엔지니어와 함께하는 Gradle

잠깐의 공지사항

gradle build 오류 문의

해결된 질문

작성

·

65

0

안녕하세요?

 

  1. gradle init로 그레들 프로젝트 생성했습니다.(그레들 버전 : 8.12)

    • Type : Application

    • 나머진 수업해서 지정한 그대로 입니다.


      (java, groovy, ..)

  2. 아무런 변경 없이 gradle app:test 혹은 gradle app:build를 실행했습니다.

  3. 그럼, 다음의 예외가 발생합니다.
    java.lang.ClassNotFoundException: org.example.AppTest at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606)



    실습한 환경은 윈도우즈이고 CLI는 윈도우즈의 cmd입니다.



    혹시, 도움 받을 힌트가 있을까요?


    참고로 이클립스 프로젝트로 import하고 build 태스크를 실행하면 정상적으로 test가 진행됩니다.

 

답변 2

0

미쿡엔지니어님의 프로필 이미지
미쿡엔지니어
지식공유자

안녕하세요 kkangssil님,

Eclipse에서는 정상적으로 빌드가 동작하지만 CLI에서 실패하는 경우, CLI의 환경 설정 예를들면, Java 경로, Gradle 버전, 캐시 등이 원인일 수 있습니다.

java -version하셔서 Gradle과 호환되는 Java 버전을 사용 중인지 확인하시거나, gradle clean 그리고 gradle build 하셔서 캐시를 정리해 보시는 방법도 좋은 방법인 것 같습니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. kkangssil님.

Gradle에서 빌드 시 java.lang.ClassNotFoundException 오류가 발생하는 것은 주로 클래스 경로에 문제가 있거나, 클래스 파일이 존재하지 않을 때 발생하는 오류입니다. 이런 경우 다음과 같은 점들을 확인해 보실 수 있습니다:

  1. 프로젝트 디렉토리 구조 확인:

    • src/main/javasrc/test/java 디렉토리 구조가 올바르게 설정되어 있는지 확인해 보세요. AppTest 클래스는 src/test/java/org/example 경로에 위치해야 합니다.
  2. 패키지 선언 확인:

    • AppTest 클래스 파일의 상단에 올바르게 패키지를 선언했는지 확인하세요. package org.example;와 같은 선언이 필요합니다.
  3. Gradle 설정 파일 확인:

    • build.gradle 파일에서 sourceSets가 올바르게 설정되어 있는지 확인하세요. 때때로 사용자 정의를 하면서 경로가 올바르지 않은 경우가 있습니다.
  4. 빌드 캐시 및 이전 빌드 결과 정리:

    • gradle clean 명령어를 실행하여 이전 빌드의 캐시를 정리한 후 다시 빌드해 보십시오.
  5. JDK 및 Java 버전 호환성 확인:

    • 사용 중인 JDK 버전과 Gradle이 호환되는지 확인하십시오. Gradle 래퍼(gradlew)를 사용하는 것을 권장드립니다.

유사한 문제에 대한 해결책이 포함된 기존의 답변 링크를 제공할 수 있으면 더욱 좋을 텐데요, 해당 문제와 직접 관련된 구체적인 해결 사례를 발견하지 못하였습니다. 하지만 비슷한 클래스 경로 문제 해결 질문을 참조할 수 있습니다. 그 외에 추가적으로 궁금한 사항이 있으면 언제든지 물어보세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.