AWS/aws CICD-metacoding

gralde 과 gradlew 차이

MDanderson 2024. 8. 12. 16:29


gradle과 gradlew 차이점

gradle과 gradlew (Gradle Wrapper) 사이에서 선택하는 것은 프로젝트의 요구사항과 팀의 선호도에 따라 달라질 수 있습니다. 각각의 도구가 제공하는 이점과 사용 상황을 이해하면 어느 쪽이 더 적합할지 결정하는 데 도움이 됩니다.

Gradle

gradle은 Gradle 빌드 시스템을 직접 사용하는 것을 의미합니다. 이를 사용하려면 시스템에 Gradle이 설치되어 있어야 하며, 사용자가 원하는 버전을 관리해야 합니다.

  • 장점:
    • 시스템 전역 설정을 사용하여 모든 프로젝트에 대해 일관된 Gradle 버전을 사용할 수 있습니다.
    • Gradle의 최신 기능을 즉시 사용할 수 있습니다 (새 버전을 직접 설치한 경우).
  • 단점:
    • 프로젝트마다 다른 버전의 Gradle이 필요한 경우 관리가 복잡해질 수 있습니다.
    • 새로운 사용자나 새로운 환경에서 프로젝트를 설정할 때 추가적인 Gradle 설치가 필요할 수 있습니다.

Gradle Wrapper (gradlew)

gradlew는 프로젝트와 함께 제공되는 스크립트로, 프로젝트에 특정한 Gradle 버전을 사용하도록 설정되어 있습니다. 이는 프로젝트가 자체적으로 필요한 Gradle 버전을 포함하고 있어, 추가적인 설치 없이도 해당 버전을 사용할 수 있습니다.

  • 장점:
    • 프로젝트에 필요한 Gradle 버전이 자동으로 설정되어, 개발자가 별도로 설치하거나 관리할 필요가 없습니다.
    • 프로젝트를 체크아웃하는 모든 사용자가 동일한 빌드 환경을 갖게 되므로, 빌드 관련 문제를 최소화할 수 있습니다.
    • 다양한 버전의 Gradle을 사용하는 다수의 프로젝트를 쉽게 관리할 수 있습니다.
  • 단점:
    • 첫 실행 때 Gradle 버전을 다운로드해야 하므로 인터넷 연결이 필요하고, 다운로드 시간이 소요될 수 있습니다.
    • 프로젝트마다 다른 Wrapper를 사용할 경우, 여러 버전의 Gradle이 로컬에 설치될 수 있습니다.

결론

gradlew (Gradle Wrapper) 사용을 권장하는 이유는, 특히 팀 프로젝트나 여러 환경에서의 개발이 필요할 때 프로젝트에 특정한 Gradle 버전을 강제하여 일관된 빌드 환경을 제공하기 때문입니다. 개인 프로젝트나 Gradle 버전을 자주 변경해야 할 필요가 없는 경우에는 gradle을 사용해도 충분합니다. 그러나 대부분의 상업적 개발 환경에서는 gradlew를 사용하여 빌드 환경의 일관성을 유지하는 것이 더 좋습니다.

 

'AWS > aws CICD-metacoding' 카테고리의 다른 글

배포v1 - cron 자동 재시작  (0) 2024.08.13
배포v1 - cron 개념  (0) 2024.08.13
배포v1 - git에서 리눅스로 프로젝트 받아서 실행  (0) 2024.08.12
고정 ip (탄력적 ip)  (0) 2024.08.12
리눅스 표준 입출력  (0) 2024.08.11