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

담천인님의 프로필 이미지
담천인

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

윈도우 환경에서 gradlew 오류문제

작성

·

6.1K

0

저의 경우는 윈도우 환경에서 컴파일시 오류가 발생합니다.

PS F:\Project\SpringProject\Project\Hello-Spring> ./gradlew build
> Task :bootJar FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':bootJar'.
> Error while evaluating property 'mainClass' of task ':bootJar'
   > Failed to calculate the value of task ':bootJar' property 'mainClass'.
      > Main class name has not been configured and it could not be resolved

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1s
4 actionable tasks: 1 executed, 3 up-to-date

프로그램의 버전에 따른 문제로 보이는 데요..

사용하고 있는 intelliJ 는 2021.2 (Community Edition) 입니다.

Java 는 JDK11 을 사용하고 있습니다.

해결방법은  build.gradle 파일에

bootJar {
mainClassName = 'SAHN.HelloSpring.HelloSpringApplication'
}

를 추가하여 해결하였습니다.

이때 intelliJ에서 mainClassName이 자동으로 비활성화 되는데, 무시하고 위내용을 집어넣으면 컴파일이 잘됩니다.

혹 비슷한 경험이 있으신 분들은 참고 하시기 바랍니다.

답변 2

1

담천인님의 프로필 이미지
담천인
질문자

위의 방법으로도 추가적인 문제가 발생합니다.

build 디렉토리 하에 libs 폴더가 생성되지 않더군요.

./gradlew clean

을 실행할경우  build  디렉토리가 사라지는것을 확인후

./gradlew build

를 실행하면,  libs 폴더가 생성이 되지 않습니다.

프로젝트 빌드후 build 디렉토리 외에 .gradle 폴더역시 생성이 되는데,

./gradlew clean명령을 실행시 . gradle 폴더는 사라지지 않습니다.

제가 쓰는 intelliJ 버전이 Community 버전이라 문제가 생기는 것인지 확실하지는 않지만

매번 build시  위의 .gradle 폴더를 지우고 재 build 하면 아무런 오류도 생기지 않습니다.

물론 위에 추가한 bootJar{} 항목이 없어도 마찬가지 입니다.

정품 intelliJ를 구매해서 검토후 다시 답변 올리도록 하겠습니다.

0

안녕하세요 담천인님!

좋은 정보 공유 감사합니다 :)

같은 어려움을 겪고 계신분들에게 도움이 되길 바랍니다.

감사합니다.

담천인님의 프로필 이미지
담천인

작성한 질문수

질문하기