1

プロパティ ファイルで定義された値を反復しようとすると問題が発生します。jar ファイルをループで読み取ってディレクトリにコピーしようとしています。jar ファイル名は、プロパティ ファイルで定義されます。ここに私のサンプルファイルがあります:

<?xml version="1.0"?><project name="beehive" basedir=".">

<taskdef resource="net/sf/antcontrib/antlib.xml"/>

<loadfile property="file.list" srcFile="test.txt">
    <!--<filterchain>
        <striplinebreaks/>
    </filterchain>-->
</loadfile>

<target name="testtarget">
    <for list="${file.list}" param="fileName">
        <sequential>
            <echo>@{fileName}</echo>
            <copy file="C:/Development/Doc/Build/@{fileName}" todir="C:/Development/Doc/Build/testdir">
            </copy>
        </sequential>
    </for>
</target>

test.txt のエントリは次のとおりです。

wikihelp-1.0.0.jar

速度-1.0.0.jar

for ループがファイル名を一度に 1 つずつ読み取り、コピーを実行することを期待しています。代わりに、2 つのファイル名を一緒に読み取り、次の例外をスローします。

警告: コピーするファイル C:\Development\Doc\Build\wikihelp-1.0.0.jar velocity-1.0.0.jar が見つかりませんでした。

任意のポインタをいただければ幸いです。

  • ありがとう
4

1 に答える 1

4

問題を発見し、delimiter="${line.separator } を追加して解決しました

for ループでは、行区切り記号の区切り記号を追加する必要がありました

<for list="${file.list}" param="fileName" delimiter="${line.separator}">
于 2011-08-12T22:08:02.413 に答える