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

조재연님의 프로필 이미지

작성한 질문수

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

45강. 빌드와 실행, 그리고 접속

gradlew 관련 질문이 있습니다!

작성

·

2.2K

2

 안녕하세요. 강의 잘 듣고 있습니다.

5:48 쯤에 ls 를 하면

build.gradle gradlew gradlew.bat HELP.md README.md settings.gradle src

이렇게 나오고 gradle 이라는 파일은 안나옵니다. 그래서 그런지

./gradlew build -x test 명령어를 실행하면

 

Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain

Caused by: java.lang.ClassNotFoundException: org.gradle.wrapper.GradleWrapperMain

 

Gradle Wrapper 스크립트가 실행되지 않는다고 나옵니다. 이런 경우는 어떻게 하면 될까요? ㅜ

답변 1

0

최태현님의 프로필 이미지
최태현
지식공유자

안녕하세요! 재연님!! 질문 올려주셔서 감사드립니다!!

아이고~ 말씀해주신 것처럼 해당 에러는 gradle 이라는 폴더가 없어서 나는 에러입니다!!!!!

git clone 받으셨을 때 gradle 이란 폴더가 있도록 해야 할 것 같은데요!

 

다음과 같은 방법을 사용해보아야 할 것 같습니다!!

 

[1. github에 gradle 폴더가 있는지 확인한다]

image예를 들어, 수업시간에 사용한 제 github repository에는 gradle/wrapper 가 있습니다!

gradle 폴더가 있다면 4번으로 이동!

 

[2. github에 gradle 폴더가 없다면 - .gitignore을 확인/수정한다]

.gitignore 파일은 특정 폴더나 파일을 github에 올라가지 못하게 막고 있습니다.

따라서 github에 gradle 폴더가 없다는 뜻은 .gitignore 파일에서 해당 폴더를 막고 있을 가능성이 있습니다!

.gitignore 파일을 확인해 gradle 이라는 문구가 있는 줄이 있다면 지워줘도 좋을 것 같습니다!

(혹시 github repository 주소를 주시면 제가 확인해드릴 수도 있어요!!)

 

[3. 다시 한 번 github에 최신 파일을 올린다]

2번에서 .gitignore을 수정했다면, 다시 한 번 github에 프로젝트를 올려주어야 합니다!

git add . / git commit -m "메시지" / git push 등을 활용하여 gradle 폴더가 github에 올라가도록 해야합니다!

 

[4. EC2에 진작 존재하는 폴더를 삭제하고 다시 clone 받는다!]

EC2에 접속하시면 아마 library-app 이란 폴더가 있고, 이 안에 gradle이나 java 파일들이 있을겁니다! 저희는 이 폴더를 통채로 지우고 다시 한 번 코드를 가져올 겁니다!!

# library-app의 폴더와 내용물을 한 번에 지우는 명령어 | 진짜 완전히 지워지므로 주의해야 한다.
rm -rf library-app 
git clone [github 주소]

그리고 이제 빌드하시면 gradle 폴더가 있으니 잘 되실겁니다!!

 

[4번의 대안 - git pull]

만약 git 충돌이 없다면 굳이 폴더를 삭제하고 다시 받을 필요 없이 git pull 이라는 명령어를 활용하실 수도 있습니다! git pull 명령어는 github에 있는 최신 코드를 지금 컴퓨터에 다운로드 받게 해주는 명령어입니다.

git pull 명령어는 library-app 폴더 안에서 하셔야 합니다!!

 

꼭 해결되셨으면 좋겠습니다. 감사합니다!!! 🙏🙏

조재연님의 프로필 이미지
조재연
질문자

안녕하세요. 확인해보니 .gitignore 에

build/ <- 를 지워주니 잘 gradle/wrapper 폴더가 생긴것을 확인했습니다!

근데 강사님 repository 를 확인하니

.gradle 이랑 build/ 가 있어도 gradle/wrapper 가 있는 것을 확인하였는데요.

 

그럼 왜 그런지 잘 모르겠습니다!!

혹시나하여 github repository 주소를 남깁니다!!

https://github.com/jaeyeonme/library-app/tree/main

 

감사합니다.

최태현님의 프로필 이미지
최태현
지식공유자

안녕하세요! 아마 제 생각에 gradle이 정상적으로 노출된 것은

https://github.com/jaeyeonme/library-app/commit/e7b98158d996953a8a92b6de002e1985c1ee6d9c 커밋에서 확인할 수 있듯이 .gradle/ 이 지워짐으로써 잘 된게 아닐까 싶습니다! 만약 이게 아니라면, 커밋에 남지 않는 gitignore 수정이 있었을 수도 있습니다!

 

build/ 랑은 무관할거에요!!! 감사합니다!