ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • OSX STS에서 Gradle import 시 "Error in running 'Create Gradle model' error in opening zip file 대처
    초급 개발자 이야기/노하우 쌓아가기 2014. 4. 11. 18:13

    이 카테고리에는 더 이상 글이 올라오지 않습니다.


    별도의 개발 블로그를 열어 개발에 관련된 이야기는 블로그를 분리하였습니다.

    만약 더 많은 개발 이야기가 보고 싶으시다면 아래 링크로 이동해 주세요.


    link : Digital Blue Eye's dev-ops

    #######################################################################################################



    이번에 KSUG의 스터디에 참여하면서 스프링 MVC 프로그래밍 (에이콘 출판사)의 샘플 소스를 STS(Spring source Tool Suite)에 import할 일이 생겼습니다.


    지금까지 실무에서는 Maven을 주로 사용하였는데, 샘플 소스는 Gradle로 build하도록 되어 있더군요.


    Gradle은 처음 사용하는지라 좀 두려움이 있었지만 책을 따라가면 되지 않을까라는 생각으로 import를 진행해 봤습니다.





    스터디에 사용되는 교재



    책의 내용에 따라 샘플 소스를 STS에 import 하다 보니 아래와 같은 오류가 발생했습니다.





    STS Gradle Project import 중 오류



    에러는 다음과 같습니다.


    Error in running 'Create Gradle model'

    error in opening zip file

    See error log for details



    Root Directory를 결정한 후 Build Model 버튼을 눌러 프로젝트의 dependency를 확인하여 관련된 lib 를 받아야 하는데 Gradle Build 자체가 동작하지 않는 문제인거죠.... (라고 추정하고 있습니다;;;)


    OSX의 console에서 직접 build 명령을 주니 정상적으로 프로젝트는 빌드가 됩니다.


    그리고, 다른 윈도우 장비에서 import해보니 정상적으로 import가 됩니다.


    OSX와 윈도우에서의 차이점이 무엇인지 생각해 보니, 윈도우 장비에서는 Build Model 이벤트가 발생하면 Gradle 사이트로부터 무언가를 다운로드 하더군요. OSX에서는 그 단계를 가지 못하구요.


    그래서 Preference를 뒤져봤습니다.


    Gradle 항목에 Gradle Distribution이란 항목이 있더군요. 저는 Gradle을 잘 모르니 일단 유추해보면...

    Gradle의 분산된 무언가의 위치를 이야기 하는 듯 합니다.


    그래서 생각해 보니 Console로 build가 성공할 때 처음 작업했던 내용이 있었습니다.





    OSX console에서의 Build Log



    처음 Gradle 환경을 설정하기 위해 gradlew라는 명령을 주면 아래의 URL에서 gradle binary를 다운로드 받습니다.


    http://services.gradle.org/distributions/gradle-1.0-bin.zip


    그래서 Preference의 설정을 아래와 같이 변경했습니다.





    STS Preference의 Gradle 항목




    Gradle Distribution 항목을 기본값이 아니라 URI를 지정하여 주었습니다.


    그리고 build를 하니.... 실패합니다.... oTL


    인터넷을 뒤져보니.... Gradle Binary (Wrapper이겠죠...)의 버전이 상당히 올라간 것 같더군요.


    그래서 URI를 아래와 같이 변경했습니다.


    http://services.gradle.org/distributions/gradle-1.6-bin.zip


    그리고 다시 build를 해보니....









    이렇게 build가 정상적으로 이루어집니다.


    물론 이후에 실제 import하면서 dependency library를 다운로드 받는 상당한 시간이 소요되긴 했지만요.




    이것으로 Gradle build의 오류를 잡을 수 있었습니다.


    원인이 무엇이었느냐가 문제인데.... 아직은 모르겠습니다...


    1. OSX console에서 Gradle build 시 정상 (초기 한번 dependency를 못 받아와 build가 중단되기는 했지만 dependency lib는 maven repository에서 받는 것이기 때문에 Gradle과는 무관하다고 보여집니다.)

    2. 윈도우 STS의 Gradle support plugin에서는 정상 동작

    3. console에 찍힌 URI를 Preference에서 강제 설정하면 비 동작 (1.6으로 정상 동작)


    이 정도 인데, 원인을 추론하기에는 아직 부족하네요.


    어쨋든 해결되었으니 원인은 나중에 고민해 보렵니다;;;;

    댓글

Designed by Tistory.