0

作成したい Java クラス ファイルに変換される特定の拡張子のスクリプト ファイルの単純な構文があります。各ファイルには、リフレクションによって呼び出すことができる特定の関数が含まれています。

Ant ビルド ディレクトリを参照できる Ant スクリプトから呼び出すことができるメイン関数を作成し、拡張子を持つすべてのファイルをトラバースし、それぞれを bin ディレクトリ以外に配置した Java ファイルに変換したいと考えています。しかし、私の拡張子を持つファイル(スクリプト)を保持する src ディレクトリパッケージにあります。

これは可能ですか?

アンディ

4

2 に答える 2

1

ディレクトリ内のすべてのファイルに対してディレクトリ.java内にファイルを作成する方法の例を次に示します。src.extbin

しかし、コードを生成するには、カスタム Ant タスクを実装する必要があると思います。

<project default="test">

    <target name="test">
        <copy todir="src">
            <fileset dir="bin">
                <include name="**/*.ext"/>
            </fileset>
            <globmapper from="*.ext" to="*.java"/>
            <filterchain>
                <!--
                    You will do some custom filtering
                    to create your new Java src file.
                    This is just for illustration.
                 -->
                <headfilter lines="1"/>
                <tokenfilter>
                    <replaceregex pattern=".*" replace="your new content"/>
                </tokenfilter>
            </filterchain>
        </copy>
    </target>

    <!-- use with care! -->
    <target name="clean">
        <delete dir="src">
            <include name="**/*.java"/>
        </delete>
    </target>

</project>
于 2012-05-31T09:08:12.940 に答える
0

ant-contribプロジェクトを試してください。ファイルセットを取得するタスクがあります。その後、それを使ってやりたいことが何でもできます。

<ac:for param="file">
  <fileset ... />
  <sequential>
    <echo message="@{file}" />
  </sequential>
</ac:for>

警告:私はこれのプロジェクトオーナーです。ant 1.7 / 1.8コンストラクト(つまり、リソースコレクション)はまだ必要ありませんが、その取り組みは進行中です。

于 2012-05-31T03:44:02.480 に答える