2009-05-07 12 views
1

特定のクラスがjarファイルに存在するかどうかを確認するにはどうすればよいですか?私は利用可能なタスクを試して、それは動作していないようですAnt:jarクラスにクラスが存在するか確認する

場合は、私はそれにパターンを使用することはできますか?

は、例えば、I、クラスマッチングパターン**/xyz/foo.class

理解任意の方向をfooBar.jar

に存在するかどうかを確認します。

答えて

2

利用可能なタスクは、正確なクラス名を指定すると機能します。ここでavailableためのAntのマニュアルからの例です:

...in project ... 
<property name="jaxp.jar" value="./lib/jaxp11/jaxp.jar"/> 
<path id="jaxp" location="${jaxp.jar}"/> 
...in target ... 
<available classname="javax.xml.transform.Transformer" 
      classpathref="jaxp" property="jaxp11.present"/> 

私は自分自身のタスクを書くの短い、パターンに基づいて検索する方法を知りません。 unjarタスクを使用してパターンを一時ディレクトリに抽出し、そのファイルが存在するかどうかを確認することができます。例:

<property name="temp.dir" value="some_temp_directory"/> 
<unjar src="foobar.jar" dest="${temp.dir}"> 
    <patternset> 
     <include name="**/xyz/foo.class"/> 
    </patternset> 
    <mapper type="flatten"/> 
</unjar> 
<available property="foo.present" file="${temp.dir}/foo.class"/> 
+0

ありがとうございました。私は自分自身の仕事を書いていました。 – swordfish

関連する問題