ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바 빌드 툴
    Java/Basics 2019. 5. 21. 09:48

    ■컴파일이란?


    - 하나의 소스파일(사람이 다루기 편한 파일)을 바이트 코드 파일(컴퓨터가 다룰 수 있는 

    파일)로 번역하는 작업




    ■빌드란?


    - 전처리, 전체 소스 컴파일, 링크, 각종 파일 패키징, 테스트, api문서 생성, 배포 등을

    수행하여 프로젝트가 서비스 가능한 하나의 산출물로 종합하는 작업.




    ■빌드 자동화


    - ant, maven, gradle 등의 빌드 툴이 복잡한 빌드 과정을 도와준다.




    ■apache ant(Another Neat Tool)


    - 자바로 구현되어 자바 프로젝트 빌드에 최적화되어 있다.


    - build.xml라는 빌드 스크립트를 작성하여 빌드를 자동화.


    - 유연한 스크립트 작성 방식이 때로 비효율적인 경우가 생겼고 

    라이브러리 의존성의 필요성이 대두되어 maven이라는 새로운 빌드 툴이 탄생.




    ■apache maven


    - ant의 후속 툴로써, 프로젝트를 빌드 방법을 표준화.


    - ant에 비해 자유도가 낮고 표준화 문법에 대한 이해가 필요하다.


    - 빌드 자동화 밖에도 많은 기능 추가(특히 중앙 저장소를 통한 자동 의존성 관리)


    - 라이브러리 개발자가 직접 중앙 저장소에 라이브러리 업로드(유료 의존성도 있남??)


    - DI/IOC 개념을 빌드 도구에 적용.


    - pom.xml을 작성하여 아파치 재단에서 운영하는 중앙 저장소로부터 의존성을 주입받음.

    (새로운 저장소 생성도 가능)


    - 필요한 의존성이 다른 의존성을 필요로 할 경우, 필요한 모든 의존성 자동 주입


    - 자동으로 주입되는 라이브러리를 제외시킬 수도 있음


    - 하지만 느린 빌드 속도의 불편함과 빌드라는 동적인 요소를 정적인 xml에 담는 한계로 

    인해 gradle이라는 새로운 빌드 툴이 등장




    ■gradle


    - maven의 후속 툴로써, ant의 장점인 유연성과 maven의 특징인 표준화를 

    모두 흡수


    - Android OS의 빌드 도구로 채택되기도 함


    - 자바와 비슷한 그루비 문법을 사용하여 빌드 내용을 간결하고 동적으로 구성






    https://www.slipp.net/wiki/pages/viewpage.action?pageId=4489306

    https://hottteokbokki.tistory.com/entry/ANT

    https://dololak.tistory.com/671

    http://egloos.zum.com/kwon37xi/v/4747016

    https://m.blog.naver.com/PostView.nhn?blogId=seatom&logNo=220881024126&proxyReferer=https%3A%2F%2Fwww.google.com%2F

    https://bkim.tistory.com/13

    'Java > Basics' 카테고리의 다른 글

    직렬화 vs 역직렬화  (0) 2019.06.14
    Java의 날짜와 시간 API  (0) 2019.06.06
    자바 메모리 구조(Runtime Data Area)  (2) 2019.05.16
    String compare  (0) 2019.04.09
    Object class  (0) 2019.04.06

    댓글

Designed by Tistory.