6

フォルダsrcには、Javaソースコードを含む一連のサブフォルダがあります。

/a/A.java

/a/b/B.java

/a/b/c/C.java

次の値のプロパティが必要です。

src/a/A.java,src/a/b/B.java,src/a/b/c/C.java

私は次のことを試しました:

<pathconvert property="list-of-files">
  <globmapper from="*" to="src/*"/>
  <fileset dir=${src-folder}/>
</pathconvert>

しかし、私は自分のプロパティに次の値を設定することになります。

src/full/path/to/folder_a/a/A.java,src/full/path/to/folder_a/a/b/B.java,src/full/path/to/folder_a/a/b/c/C.java

どうすれば私が望むことを達成できますか?どんな入力でも大歓迎です!

4

3 に答える 3

8

これには、 pathconvertmapのパラメーターを使用できます。

まず、プロパティの値にパスを追加して、srcディレクトリへのフルパスを取得しbasedirます。次に、それをfromマップの属性として使用します。

<property name="src.dir" value="${basedir}${file.separator}${src-folder}"/>
<pathconvert property="list-of-files">
  <map from="${src.dir}" to="src"/>
  <fileset dir="${src-folder}"/>
</pathconvert>
于 2011-11-28T14:19:12.267 に答える
2

誰かがリソースの相対ファイルパスを取得し、それに応じてそれらをURLパスにマップする必要がある場合に備えて、Windowsと*nixの両方で機能します。解決策は次のとおりです。

<pathconvert dirsep="/" pathsep=";" property="css.files.list">
    <map from="${basedir}/" to="" /><!-- This is the trick. Remove slash to make path absolute. -->
    <fileset dir="." includes="${src.dir}/**/*.css" />
</pathconvert>
于 2012-08-03T14:52:31.217 に答える
0

これを試してください:

<pathconvert property="list-of-files">
  <globmapper from="*" to="src/*"/>
  <cutdirsmapper dirs="N"/>
  <fileset dir=${src-folder}/>
</pathconvert>

(ここでN-削除するディレクトリの数(正の数である必要があります))

またはこれ:コードの一部の後、ファイルのリストを処理します

<mapper type="flatten"/>
<flattenmapper/>

この助けを願っています=)

于 2011-11-28T13:29:13.020 に答える