検索

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 はクロスプラットフォームの性質とシンプルな操作により、一部の開発環境に簡単に統合できます。

なぜ ant を使用するのですか? make、gumake、nmake、jam、またはその他の既存のビルド ツールの中で、なぜこの Ant ツールを個別に開発する必要があるのですか? これらの以前のビルド ツールには制限があるため、Ant のオリジナルの作成者は複数のプラットフォームにまたがって耐えられないソフトウェアを開発しています。


make ツールは基本的にシェルベースです。make はコマンドを実行する前にいくつかのシステム依存関係を評価します。これは、作業中のオペレーティング システム用の任意のプログラムを使用または作成して、これらのビルド ツールを簡単に拡張できることを意味します。ただし、これは、オペレーティング システム、または少なくとも Unix に似たタイプのオペレーティング システムに限定されることも意味します。

Makefile ツール自体も、Makefile を使ったことがある人なら誰でも、タブに関する厄介な問題に遭遇するでしょう。 「タブの前にスペースを追加したため、コマンドラインがいつも機能しません」と、Ant のオリジナルの作者は何度も言いました。 Jam などのツールはこれに大部分対応しますが、使用して覚えておく必要のある形式がまだいくつかあります。


そして、Ant は異なります。Ant は、シェル コマンドベースの拡張機能を使用する代わりに、Java クラス拡張機能を使用します。シェル コマンドの作成とは異なり、構成ファイルは XML に基づいており、ターゲット ツリーを呼び出してさまざまなタスクを実行します。各タスクは、特定のタスク インターフェイスを実装する Java オブジェクトによって実行されます。
    Ant はいくつかのシェル コマンドを削除します (
  • タスクでは、実行されているオペレーティング システムに応じて異なるコマンドを実行できます。

    率直に言えば、Ant ツールはクロスプラットフォームの問題を解決するためのものです。
  • Apache Ant を使用します

    )簡単なビルド ファイルを作成します
  • Apache Ant ビルド ファイルは build.xml に記述されます。
各ビルド ファイルには、次の 3 つのタスクが含まれます。プロパティ


find . -name foo -exec rm {})的功能,但它提供了类似的功能,一个跨平台(work anywhere and everywhere)的能力。如果你真的需要执行这些shell命令,Ant有一个<exec></exec>

プロパティ

説明


name

プロジェクト名
default

ターゲットが指定されていない場合に使用されるデフォルトのターゲットbasedir complete すべてのベースディレクトリパス計算。このプロパティは、「basedir」プロパティを事前に設定することでオーバーライドできます。このプロパティもプロパティ値も設定されていない場合は、ビルド ファイル build.xml が配置されているディレクトリ パスが使用されます。

オプションで、項目の説明を最上位の <description></description> 要素で提供できます。 <description></description>元素提供。
每个项目定义一个或多个目标。目标是您想要执行的一组任务。当启动Ant时,可以选择要执行的目标。当没有目标时,项目的默认值default被使用。

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

Tasks 
任务是可以执行的一段代码。 一个任务可以有多个属性(或者参数,如果你喜欢的话)。 
属性的值可能包含对属性的引用。这些引用将在任务执行之前解析。 
任务有一个共同的结构: 
<name attribute1="value1" attribute2="value2" ...></name>プロジェクトごとに 1 つ以上の目標を定義します。目標とは、実行したい一連のタスクです。 Ant を起動するときに、実行するターゲットを選択できます。ターゲットがない場合は、プロジェクトのデフォルト値が使用されます。
ターゲット ターゲットは、depends 属性を使用して別のターゲットに依存できます。 たとえば、コンパイルのターゲットとリリースのターゲットがあるとします。リリース ターゲットを実行する場合は、最初にコンパイル ターゲットを実行する必要があるため、リリース ターゲットはコンパイル ターゲットに依存します。 Ant の
depends

属性は、依存するターゲットが実行されずに現在のターゲットを直接実行する場合、依存するターゲットを自動的に実行することに注意してください。

タスク

タスクとは、実行できるコードの一部です。 タスクには複数のプロパティ (または必要に応じてパラメータ) を含めることができます。

属性の値には、属性への参照が含まれる場合があります。これらの参照は、タスクが実行される前に解決されます。
    タスクには共通の構造があります:
    • <nameattribute1 ...></nameattribute1>

    • name
    • はタスクの名前です、

      attributeN

      は属性名、
    • valueN
    は属性の値です。
すべてのタスクはタスク名属性を共有します。このプロパティの値は、Ant によって生成されるログ メッセージに使用されます。 🎜🎜🎜プロパティ🎜🎜🎜リファレンス🎜🎜🎜🎜🎜Apache Antの概要🎜🎜🎜🎜Apache AntのHello World🎜🎜🎜🎜

以上がAnt を使い始めるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Javaアプリケーションでプラットフォーム固有の問題を緩和するためのいくつかの戦略は何ですか?Javaアプリケーションでプラットフォーム固有の問題を緩和するためのいくつかの戦略は何ですか?May 01, 2025 am 12:20 AM

Javaはプラットフォーム固有の問題をどのように軽減しますか? Javaは、JVMおよび標準ライブラリを通じてプラットフォームに依存します。 1)bytecodeとjvmを使用して、オペレーティングシステムの違いを抽象化します。 2)標準のライブラリは、パスクラス処理ファイルパス、CHARSETクラス処理文字エンコードなど、クロスプラットフォームAPIを提供します。 3)最適化とデバッグのために、実際のプロジェクトで構成ファイルとマルチプラットフォームテストを使用します。

Javaのプラットフォームの独立性とマイクロサービスアーキテクチャの関係は何ですか?Javaのプラットフォームの独立性とマイクロサービスアーキテクチャの関係は何ですか?May 01, 2025 am 12:16 AM

java'splatformentencentenhancesmicroservicesecturectureby byofferingdeploymentflexability、一貫性、スケーラビリティ、およびポート可能性。1)展開の展開の展開は、AllosmicRoserviThajvm.2)deploymentflexibility lowsmicroserviceSjvm.2)一貫性のあるAcrossServicessimplisimpligiessdevelisementand

GraalvmはJavaのプラットフォーム独立目標とどのように関係していますか?GraalvmはJavaのプラットフォーム独立目標とどのように関係していますか?May 01, 2025 am 12:14 AM

Graalvmは、Javaのプラットフォームの独立性を3つの方法で強化します。1。言語間の相互運用性、Javaが他の言語とシームレスに相互運用できるようにします。 2。独立したランタイム環境、graalvmnativeimageを介してJavaプログラムをローカル実行可能ファイルにコンパイルします。 3.パフォーマンスの最適化、Graalコンパイラは、Javaプログラムのパフォーマンスと一貫性を改善するための効率的なマシンコードを生成します。

プラットフォームの互換性についてJavaアプリケーションをどのようにテストしますか?プラットフォームの互換性についてJavaアプリケーションをどのようにテストしますか?May 01, 2025 am 12:09 AM

aeffectivelytestjavaapplicationsforformcompativity、followthesesteps:1)setupautomatedacrossmultipleplatformsusingsingcitoolslikejenkinsorgithubactions.2)divivisonmanualtingonrealhardwaretocatissusuessususus.3)

プラットフォームの独立性を達成する上でのJavaコンパイラ(Javac)の役割は何ですか?プラットフォームの独立性を達成する上でのJavaコンパイラ(Javac)の役割は何ですか?May 01, 2025 am 12:06 AM

Javaコンパイラは、ソースコードをプラットフォームに依存しないバイトコードに変換することにより、Javaのプラットフォームの独立性を実現し、JVMがインストールされた任意のオペレーティングシステムでJavaプログラムを実行できるようにします。

プラットフォームの独立性のためにネイティブコードを介してbytecodeを使用することの利点は何ですか?プラットフォームの独立性のためにネイティブコードを介してbytecodeを使用することの利点は何ですか?Apr 30, 2025 am 12:24 AM

bytecodeachievesplatformedentencedexedectedbyavirtualMachine(VM)、forexApplev.forexample、javabytecodecanrunrunrunnonydevicewithajvm、writeonce、runany "ferfuctionality.whilebytecodeOffersenhの可能性を承認します

Javaは本当に100%プラットフォームに依存していませんか?なぜまたはなぜですか?Javaは本当に100%プラットフォームに依存していませんか?なぜまたはなぜですか?Apr 30, 2025 am 12:18 AM

Javaは100%のプラットフォームの独立性を達成することはできませんが、そのプラットフォームの独立性はJVMとBytecodeを通じて実装され、コードが異なるプラットフォームで実行されるようにします。具体的な実装には、次のものが含まれます。1。bytecodeへのコンパイル。 2。JVMの解釈と実行。 3。標準ライブラリの一貫性。ただし、JVMの実装の違い、オペレーティングシステムとハードウェアの違い、およびサードパーティライブラリの互換性は、プラットフォームの独立性に影響を与える可能性があります。

Javaのプラットフォーム独立性は、コードの保守性をどのようにサポートしますか?Javaのプラットフォーム独立性は、コードの保守性をどのようにサポートしますか?Apr 30, 2025 am 12:15 AM

Javaは、「Write onse、Averywhere」を通じてプラットフォームの独立性を実現し、コードの保守性を向上させます。 2。メンテナンスコストが低いため、1つの変更のみが必要です。 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

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール