web-dev-qa-db-ja.com

Eclipseから自動的にant build.xmlファイルを生成する方法はありますか?

EclipseからプロジェクトのAntビルドファイルを簡単にエクスポートできますが見つかりました。サードパーティライブラリといくつかのベースターゲットへの参照を提供します。グローバルビルドファイルから使用しています。これについて気になる唯一のことは、プロジェクト構造で何かが変更された場合(新しいサードパーティライブラリを追加するなど)、そのbuild.xmlファイルを再生成することについて考える必要があることです(そう難しいこともあります!)。 ここで誰かがそれを自動的に更新する方法を知っているかどうか疑問に思っています。「自動的に」とは、Eclipseに必要なたびに再生成するよう明示的に要求する必要がないことを意味します。しかし、何がトリガーになるのか分かりません...

これについての考えや知識はありますか?

ありがとう!

MJ

77
Joanis

Eclipseプロジェクトを右クリックし、「エクスポート」、「一般」、「Antビルドファイル」の順にクリックします。ただし、出力形式をカスタマイズすることは不可能だと思います。

70
Guillaume

私も同じことをしようとしています。私が見つけたのは、「Export Ant Buildfile」がorg.Eclipse.ant.internal.ui.datatransfer.AntBuildfileExportPage.Javaファイルで開始されることです。これはorg.Eclipse.ant.uiプラグインにあります。

ソースを表示するには、プラグイン開発パースペクティブを使用して、プラグインビューを開きます。次に、org.Eclipse.ant.uiプラグインを右クリックして、インポート>ソースプロジェクトを選択します。

私の計画は、Javaプログラムを作成して、Antビルドファイル生成をプログラムで開始し、Antファイルをプロジェクトのビルダーに追加してビルドするたびにAntファイルで呼び出すことです(右クリックで設定ビルダータブの下のプロジェクト)。

5

私は同じ問題を抱えていました。作業環境はEclipse Javaプロジェクトに基づいており、継続的な統合サーバー(この場合はJenkins)を使用できるように、ANTファイルを自動的にビルドする必要がありました。

独自のEclipse JavaをAntツールにロールアウトし、GitHubで利用できるようになりました。

ant-build-for-Java

使用するには、以下を呼び出します。

Java -jar ant-build-for-Java.jar <folder with repositories> [<.userlibraries file>]

最初の引数は、リポジトリのあるフォルダーです。 .projectファイルがないかフォルダーを再帰的に検索します。ツールは、指定されたフォルダーにbuild.xmlを作成します。

オプションで、2番目の引数は、プロジェクトがEclipseユーザーライブラリを使用するときに必要な、Eclipseからエクスポートされた.userlibrariesファイルです。このツールは、相対パスを使用するユーザーライブラリでのみテストされました。これが、レポでの使用方法です。これは、プロジェクトに必要なJARおよびその他のアーカイブがEclipseプロジェクト内にあり、そこから参照されることを意味します。

このツールは、他のEclipseプロジェクトおよびEclipseユーザーライブラリからの依存関係のみをサポートします。

4
JBishop

必要なのがクラスパスエントリだけである場合、Eclipseビルドパスを使用するために次のようなことを行います。

<xmlproperty file=".classpath" collapseAttributes="true" delimiter=";" />

次に、その値をパスに設定します

<path id="Eclipse.classpath">
    <pathelement path="${classpath.classpathentry.path}"/>
</path>


<target name="compile" depends="init">

    <javac srcdir="${src}" destdir="${build}" updatedProperty="compiled">
        <classpath refid="Eclipse.classpath"/>
    </javac>
</target>
2
scott

プロジェクトの.classpathファイルを見てください。これには、おそらく必要な情報のほとんどが含まれています。最も簡単なオプションは、独自の「build.xmlエクスポート」を実行することです。つまり、ビルド中に.classpathを新しいbuild.xmlに処理し、antサブタスクで呼び出します。

少しのXMLの解析は、Eclipse JDTにフックするよりもはるかに簡単に思えます。

2
Jan Schiefer

私は、AntエクスポートフィルターをEclipseに寄付した人です。自動エクスポート機能を追加しましたが、個人用プラグイン Eclipse2ant のみに追加しました。これはバグ修正を調整するために引き続き使用します。

残念ながら、公式のEclipseビルドにマージする時間はありません。

1
J2G
  • メインメニューからFile> Exportを選択します(またはプロジェクト名を右クリックしてExport> Export…)。
  • [エクスポート]ダイアログで、[一般]> [Antビルドファイル]を次のように選択します。 enter image description here

  • Nextをクリックします。 Antビルドファイルの生成画面で:

    • リスト内のプロジェクトを確認します。
    • 「Eclipseコンパイラを使用してプロジェクトをコンパイルするターゲットを作成する」オプションのチェックを外します-Eclipseに依存しないビルドファイルを作成するためです。
    • Antビルドファイルの名前はデフォルトのままにします:build.xml

enter image description here

  • Finishをクリックすると、Eclipseは次のようにプロジェクトのディレクトリの下にbuild.xmlファイルを生成します。
    enter image description here
  • build.xmlファイルをダブルクリックして、Antエディターでそのコンテンツを開きます。 enter image description here

ソース

0
Premraj