2009-03-29 3 views
5

저는 Ant가 사용 된 것을 이해하려고 노력했지만 아직 이해하지 못하고 있습니다.개미 사용 방법?

개미가 사용되는 유스 케이스를 알려 줄 수 있습니까? 왜 개미가 유용하며 어떤 용도로 사용할 수 있는지 알 수 있습니다.

저는 Eclipse에서 Java 개발을 수행하고 있으며 서블릿과 Google Web Toolkit을 시작하고 있습니다.

+1

효과적으로 그 질문에 대한 대답은 바로이 질문에 대답 점에서 http://stackoverflow.com/questions/610732/what-is-build-automation-software-for-example-ant –

+0

의 중복 (.) –

답변

17

개미는 빌드 도구입니다. 예를 들어, Eclipse 작업 공간에 여러 개의 프로젝트가 있는데, 모두 더 큰 애플리케이션의 조각입니다. 종속성을 포함하는 jar 파일로 모두 빌드하려면 모든 프로젝트를 선택하여 jar 파일로 내보낼 수 있지만 다소 복잡합니다.

개미는 확장 가능한 솔루션입니다. 빌드 프로세스를 XML로 정의하고 ant는이 레서피에 따라 Java 파일을 컴파일합니다.

개미도 건물 이상의 것을 할 수 있습니다. 저는 배포를위한 메커니즘이 우리 자신의 저장소에있는 데비안 패키지 인 회사에서 일했습니다. jar 파일을 만들고, 데비안 패키지에 메타 데이터 파일을 배치하고, 저장소에 저장 한 다음 저장소 매니페스트를 다시 생성하는 Ant 스크립트가있었습니다.

Java와 마찬가지로 Ant에 익숙해지기 전에 머리를 숙일 필요가있는 구성이 많이 있지만 기본 자습서 중 일부는 자신이 무엇을 얻고 있는지에 대한 아이디어를 제공해야합니다.

4

빌드 도구와 마찬가지로 Ant는 코드 작성과 관련된 반복 작업을 자동화하는 데 사용됩니다.

매번 javac를 수동으로 실행하는 대신 명령을 Ant 스크립트에 넣은 다음 ant를 실행하면 javac가 실행됩니다. 소스에

  • 소스 (이 코드 커버리지입니다에 cobertura 계측을 실행 tets에
  • 실행 javac의를

    • 실행 javac의 : 개미

      내 일반적인 빌드 프로세스는 다음과 같이 간다)

    • 단지 가입 소스 클래스
    • 단지 가입 인스트루먼트 cobertura 클래스 U 자
    • 단지 최대
    • 그들의 코드 커버리지를 얻을 cobertura를 통해 단위 테스트를 실행
    • 니트 테스트 클래스는
    • 실행 checkstyle은 PMD는 소스에 findbugs는

    이 그래서 내가 각에서 수행 한 8 단계 인 경고를 찾을 수 "개미"를 실행하여 간단히 할 수있는 빌드.

  • 2

    개미는 XML 기반의 메이크 파일입니다.

    Eclipse와 같은 IDE를 사용하여 이미 성공적으로 코드를 빌드하고 패키지화 한 단일 개발자 인 경우 Ant를 사용하면 많은 이점을 얻지 못할 것입니다.

    팀에서 코드를 공동 작업 할 때 더 큰 이점이 있습니다. 크루즈 컨트롤이나 다른 지속적인 통합 기능을 사용하면 큰 도움이됩니다. CC에는 Ant build.xml이 필요합니다.

    0

    이것은 ANT 설명서에서 나온 것으로 아주 잘 설명되어 있습니다.

    왜 다른 빌드, nmake를, 이미 만들어 잼 gnumake이 도구 및 다른 사람? 이러한 모든 도구에는 소프트웨어가 여러 플랫폼에 걸쳐 개발 될 때 함께 살 수없는 개미의 원래 작성자 인 제한 사항이 있기 때문입니다. make-like 도구는 기본적으로 쉘 기반입니다 : 그들은 종속성 집합을 평가 한 다음 명령을 실행하여 쉘에서 발행 할 것과 다릅니다. 즉, 인 OS 용 프로그램을 사용하거나 작성하여이 도구를 쉽게 확장 할 수 있습니다. 그러나 이는 사용자가 OS에만 국한하는 이거나 작업중인 UNIX 유형 인 이상인 이상을 의미합니다.

    메이크 파일은 본질적으로 악의적입니다. 시간 동안 작업 한 사람은 두려운 탭 에 문제가 발생했습니다. "내 탭 앞에 공백이 있기 때문에 내 명령이 을 실행하지 않습니까? !!" 앤트 웨이 너무 많은 시간을 원작자 말했다. Jam 과 같은 도구는 에이 정도를 처리했지만 여전히 다른 형식으로 을 사용하고 기억합니다.

    개미가 다릅니다. 쉘 기반 명령으로 확장되는 모델 대신 Java 클래스를 사용하여 Ant를 확장합니다. 쉘 명령을 쓰는 대신 구성 파일은 XML 기반이며 다양한 작업이 실행되는 대상 트리 을 호출합니다. 각 작업은 이 특정 작업 인터페이스를 구현하는 개체에 의해 실행됩니다. 부여

    ,이 find . -name foo -exec rm {} 같은 쉘 명령을 구성 할 수있는 에 내재되는 표현력의 일부를 제거하지만, 그것은 당신에게 크로스 플랫폼 할 수있는 기능 제공 - 어디 어디에서나 을 작업을 . 그리고 명령을 실행해야 할 경우 은 이 실행될 다른 명령이 실행 중임을 나타내는 작업을 수행합니다.