찾다
Javajava지도 시간Ant 시작하기

Ant 시작하기

Jul 18, 2017 pm 03:45 PM
사용

Ant의 사용법

Apache Ant란 무엇입니까

Apache Ant는 자바 기반의 소프트웨어 빌드 도구(빌드 도구)입니다. 이론적으로는 C/C++ make 도구

개요

와 다소 유사합니다.

ant는 소프트웨어 컴파일, 테스트, 배포 및 기타 단계를 연결하고 자동화하는 도구로 주로 Java 환경에서 소프트웨어 개발에 사용됩니다. 실제 소프트웨어 개발에서는 Ant를 활용할 수 있는 곳이 많습니다.

개발 환경:

시스템: Windows
JDK: 1.6+
IDE: eclipse
ant: 1.9.1 , 다음과 같은 장점이 있습니다.

1 크로스 플랫폼: Ant는 순수 Java 언어로 작성되었습니다. 좋은 크로스 플랫폼 성능.

2. 간단한 조작: Ant는 내장 태스크와 선택적 태스크로 구성됩니다. Ant 태스크를 사용하는 것은 DOS에서 명령줄을 작성하는 것과 같습니다. Ant를 실행하려면 XML 파일(빌드 파일)이 필요합니다. Ant는 타겟 트리를 호출하여 다양한 작업을 실행할 수 있습니다. 각 작업은 특정 인터페이스 개체를 구현합니다.
3. 간단한 유지 관리, 우수한 가독성 및 간단한 통합: Ant 빌드 파일은 XML 형식이므로 유지 관리 및 작성이 쉽고 구조가 매우 명확합니다. Ant는 개발 환경에 통합될 수 있습니다. Ant의 크로스 플랫폼 특성과 간단한 작동으로 인해 일부 개발 환경에 쉽게 통합할 수 있습니다.

개미를 사용하는 이유는 무엇인가요? make, gnumake, nmake, jam 또는 기타 기존 빌드 도구 중에서 이 Ant 도구를 별도로 개발해야 하는 이유는 무엇입니까? 이러한 이전 빌드 도구에는 한계가 있기 때문에 Ant의 원 작성자는 견딜 수 없는 소프트웨어를 여러 플랫폼에 걸쳐 개발하고 있습니다.


make 도구는 기본적으로 쉘 기반입니다. make는 명령을 실행하기 전에 일부 시스템 종속성을 평가합니다. 즉, 작업 중인 운영 체제용 프로그램을 사용하거나 작성하여 이러한 빌드 도구를 쉽게 확장할 수 있습니다. 그러나 이는 또한 운영 체제 또는 최소한 Unix와 유사한 운영 체제로 자신을 제한한다는 의미이기도 합니다.

메이크파일 도구 자체도 매우 성가시다. 메이크파일을 사용해 본 사람이라면 누구나 귀찮은 탭 문제에 직면하게 될 것이다. Ant의 원 작성자는 "탭 앞에 공백을 추가했기 때문에 내 명령줄이 항상 작동하지 않습니다"라고 너무 많이 말했습니다. Jam과 같은 도구는 이를 광범위하게 처리하지만 여전히 사용하고 기억해야 할 몇 가지 형식이 있습니다.


그리고 Ant는 다릅니다. Ant는 쉘 명령 기반 확장을 사용하는 대신 Java 클래스 확장을 사용합니다. 셸 명령 작성과 달리 구성 파일은 xml을 기반으로 하며 대상 트리를 호출하여 다양한 작업을 수행합니다. 각 작업은 특정 작업 인터페이스를 구현하는 Java 개체에 의해 실행됩니다.
    Ant는 일부 쉘 명령을 제거합니다(예:
  • Tasks는 실행 중인 운영 체제에 따라 다른 명령의 실행을 허용합니다.

    직접적으로 말하면 Ant 도구는 크로스 플랫폼 문제를 해결하는 것입니다.
  • Apache Ant 사용

    간단한 빌드 파일을 작성합니다
Apache Ant 빌드 파일은 build.xml에 작성됩니다.

각 빌드 파일에는 하나의 프로젝트와 하나 이상의 기본 대상이 포함됩니다.
find . -name foo -exec rm {})的功能,但它提供了类似的功能,一个跨平台(work anywhere and everywhere)的能力。如果你真的需要执行这些shell命令,Ant有一个<exec></exec>A

프로젝트는 다음과 같습니다. Properties

Property

Description


nameProject name

default대상이 제공되지 않을 때 사용되는 기본 대상basedir complete 모든 항목의 기본 디렉터리 이 속성이나 속성 값이 모두 설정되지 않은 경우 빌드 파일 build.xml이 있는 디렉터리 경로가 사용됩니다.

선택적으로 항목에 대한 설명은 최상위 <description></description> 요소를 통해 제공될 수 있습니다. <description></description>元素提供。
每个项目定义一个或多个目标。目标是您想要执行的一组任务。当启动Ant时,可以选择要执行的目标。当没有目标时,项目的默认值default被使用。

Targets
一个目标可以依赖于另外目标,使用depends属性。 
例如,您可能有一个用于编译的目标,和一个发布的目标。当你执行发布的目标时不得不先执行编译的目标,所以发布目标取决于编译目标。应该注意的是,Ant的depends属性, 如果它依赖的目标没有执行,而是直接执行当前目标,它也会自动去执行依赖的目标。

Tasks 
任务是可以执行的一段代码。 一个任务可以有多个属性(或者参数,如果你喜欢的话)。 
属性的值可能包含对属性的引用。这些引用将在任务执行之前解析。 
任务有一个共同的结构: 
<name attribute1="value1" attribute2="value2" ...></name>프로젝트당 하나 이상의 목표를 정의하세요. 목표는 수행하려는 작업 집합입니다. Ant를 시작하면 실행할 대상을 선택할 수 있습니다. 대상이 없는 경우 프로젝트의 기본값이 사용됩니다.
Targets대상은 dependents 속성을 사용하여 다른 대상에 종속될 수 있습니다. 예를 들어 컴파일 대상과 릴리스 대상이 있을 수 있습니다. 릴리스 대상을 실행할 때는 컴파일 대상을 먼저 실행해야 하므로 릴리스 대상은 컴파일 대상에 따라 달라집니다. Ant의
dependents

속성은 자신이 의존하는 대상이 실행되지 않고 현재 대상을 직접 실행하는 경우 자동으로 종속 대상을 실행한다는 점에 유의해야 합니다.

Tasks

Task는 실행 가능한 코드 조각입니다. 작업에는 여러 속성(또는 원하는 경우 매개변수)이 있을 수 있습니다.

속성 값에는 해당 속성에 대한 참조가 포함될 수 있습니다. 이러한 참조는 작업이 실행되기 전에 해결됩니다.
    작업에는 공통 구조가 있습니다.
    • <name attribute1="value1" attribute2="value2" ...></name>

    • name
    • 은 작업의 이름이고,

      attributeN

      은 속성 이름이고,
    • valueN
    은 속성 값입니다.
모든 작업은 작업 이름 속성을 공유합니다. 이 속성의 값은 Ant가 생성한 로그 메시지에 사용됩니다. 🎜🎜🎜Properties🎜🎜🎜Reference🎜🎜🎜🎜🎜Apache Ant 소개🎜🎜🎜🎜Hello World with Apache Ant🎜🎜🎜🎜
이 속성은 "basedir" 속성을 미리 설정하여 재정의할 수 있습니다.

위 내용은 Ant 시작하기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Java 응용 프로그램에서 플랫폼 별 문제를 완화하기위한 몇 가지 전략은 무엇입니까?Java 응용 프로그램에서 플랫폼 별 문제를 완화하기위한 몇 가지 전략은 무엇입니까?May 01, 2025 am 12:20 AM

Java는 플랫폼 별 문제를 어떻게 완화합니까? Java는 JVM 및 표준 라이브러리를 통해 플랫폼 독립성을 구현합니다. 1) Bytecode 및 JVM을 사용하여 운영 체제 차이를 추상화합니다. 2) 표준 라이브러리는 Paths 클래스 처리 파일 경로 및 Charset 클래스 처리 문자 인코딩과 같은 크로스 플랫폼 API를 제공합니다. 3) 최적화 및 디버깅을 위해 실제 프로젝트에서 구성 파일 및 다중 플랫폼 테스트를 사용하십시오.

Java의 플랫폼 독립성과 마이크로 서비스 아키텍처의 관계는 무엇입니까?Java의 플랫폼 독립성과 마이크로 서비스 아키텍처의 관계는 무엇입니까?May 01, 2025 am 12:16 AM

java'splatformincendenceenhancesmicroservicesarchitectureDeploymentFlexibility, 일관성, 확장 성 및 포트 가능성

Graalvm은 Java의 플랫폼 독립 목표와 어떤 관련이 있습니까?Graalvm은 Java의 플랫폼 독립 목표와 어떤 관련이 있습니까?May 01, 2025 am 12:14 AM

Graalvm은 Java의 플랫폼 독립성을 세 가지 방식으로 향상시킵니다. 1. 교차 언어 상호 운용성, Java는 다른 언어와 원활하게 상호 작용할 수 있습니다. 2. 독립적 인 런타임 환경, Java 프로그램을 GraalvMnativeImage를 통해 로컬 실행 파일로 컴파일합니다. 3. 성능 최적화, Graal Compiler는 Java 프로그램의 성능과 일관성을 향상시키기 위해 효율적인 기계 코드를 생성합니다.

플랫폼 호환성을 위해 Java 응용 프로그램을 어떻게 테스트합니까?플랫폼 호환성을 위해 Java 응용 프로그램을 어떻게 테스트합니까?May 01, 2025 am 12:09 AM

ToEffectIallyTestJavaApplicationSforplatformcompatibility, followthesesteps : 1) setupAutomatedTestingAcrossMultiplePlatflatformsUsingCitools likeJenkinsorgitHubactions.2) 행동 관리자는 realHardwaretoCathissesnotfoundInvironmentments.3) Checkcross-Pla

플랫폼 독립성을 달성하는 데있어 Java Compiler (Javac)의 역할은 무엇입니까?플랫폼 독립성을 달성하는 데있어 Java Compiler (Javac)의 역할은 무엇입니까?May 01, 2025 am 12:06 AM

Java Compiler는 소스 코드를 플랫폼 독립적 인 바이트 코드로 변환하여 Java의 플랫폼 독립성을 실현하여 JVM이 설치된 JVM 프로그램에서 모든 운영 체제에서 실행할 수 있습니다.

플랫폼 독립성을 위해 기본 코드를 통해 바이트 코드를 사용하는 장점은 무엇입니까?플랫폼 독립성을 위해 기본 코드를 통해 바이트 코드를 사용하는 장점은 무엇입니까?Apr 30, 2025 am 12:24 AM

Bytecodeachievesplatformincendence는 executedbirtualmachine (vm)을 beenecutedbyavirtmachine (vm)을 허용합니다

Java는 진정으로 100% 플랫폼 독립적입니까? 왜 또는 왜 그렇지 않습니까?Java는 진정으로 100% 플랫폼 독립적입니까? 왜 또는 왜 그렇지 않습니까?Apr 30, 2025 am 12:18 AM

Java는 100% 플랫폼 독립성을 달성 할 수 없지만 플랫폼 독립성은 JVM 및 바이트 코드를 통해 구현되어 코드가 다른 플랫폼에서 실행되도록합니다. 특정 구현에는 다음이 포함됩니다. 1. 바이트 코드로의 컴파일; 2. JVM의 해석 및 실행; 3. 표준 라이브러리의 일관성. 그러나 JVM 구현 차이, 운영 체제 및 하드웨어 차이, 타사 라이브러리의 호환성은 플랫폼 독립성에 영향을 줄 수 있습니다.

Java의 플랫폼 독립성은 코드 유지 가능성을 어떻게 지원합니까?Java의 플랫폼 독립성은 코드 유지 가능성을 어떻게 지원합니까?Apr 30, 2025 am 12:15 AM

Java는 "Writ 2. 유지 보수 비용이 낮 으면 하나의 수정 만 필요합니다. 3. 높은 팀 협업 효율성은 높고 지식 공유에 편리합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구