1

Maven でファイルをコピーする際に問題が発生します。

この方法で antrun プラグインを使用します: (ファイル jdk1.5.0_22.tgz を一時フォルダーにコピーしたい)

<exec executable="cp">
    <arg value="${parent.resources}/jdk1.5.0_22.tgz" />
    <arg value="${iso.tempDir}/"/>
</exec>

そして、それはうまくいきます。ここで、jdk ファイルのバージョンから独立するように小さな変更を加えます (jdk1.5.0_22.tgz を jdk*.* に変更するだけです)。

<exec executable="cp">
    <arg value="${parent.resources}/jdk*.*" />
    <arg value="${iso.tempDir}/"/>
</exec>

この場合、次のエラーが発生します: [exec] /bin/cp: '../../resources/jdk*.*' の統計を実行できません: そのようなファイルまたはディレクトリはありません

なんで?

4

1 に答える 1

0

これはMavenの質問ではないようです。

それはほとんどAntの質問ですらありません。

jdk*.*シェルによってワイルドカード展開が実行されることを期待しています。ただし、これはすべてシェルによって実行されるのではなく、Ant によって実行されます。Ant はワイルドカード展開を行わず、ワイルドカードを含む元の文字列を に渡しますcp。これもワイルドカード展開を行わず、文字どおりに解釈します。

解決策として、Ant を使用filesetしてファイルを見つけることをお勧めします。あなたがそれに取り組んでいる間に、Antcopyがコピーを行うかもしれません。これは、プラットフォームに依存しません (を使用するよりもはるかに優れていcpます)。

于 2013-10-21T18:08:04.873 に答える