2013-01-23 13 views
6

Narzędzie do budowania mrówek oferuje dwa różne zadania: <fileset/> i <zipfileset/>. Zgodnie z dokumentacją <zipfileset/> pozwala nam wyodrębnić pliki z pliku .zip , jeśli używamy atrybutu src.<zipfileset> vs. <fileset> w ant

Moje pytanie brzmi jeśli używamy atrybutu dir aby wybrać pliki następnie Jaka jest różnica między tymi dwoma, <zipfileset/> i <fileset/>.

np.

   <zipfileset dir="conf/Gateway> 
       <include name="jndi.properties" /> 
       </zipfileset> 

           and 

       <fileset dir="conf/Gateway> 
       <include name="jndi.properties" /> 
       </fileset> 
+0

czy to zrobiłeś? czy mógłbyś opublikować kompletny cel? – Jayan

+0

@Jayan oba skrypty działają.zobacz link zamieszczony w komentarzach twojej odpowiedzi – Shurmajee

Odpowiedz

0

Po przeczytaniu instrukcji: Rozumie się, że plik zipfileset przyjmuje argument atrybutu src, a następnie używa go jako katalogu.

quote from manual

src może być stosowany w miejsce atrybutu dir aby określić plik zip którego zawartość zostanie rozpakowany i włączony do archiwum.

+2

tak, ale co jeśli używamy atrybutu dir czy jest jakakolwiek różnica? przeczytaj pytanie – Shurmajee

+0

Potrzeba obu argumentów. Zobacz http://ant.apache.org/manual/Types/zipfileset.html – Shurmajee

+0

Niewielki błąd lub wygoda. Atrybuty src i dir są wymienne. Sprawdzę kod później. Możesz to również zrobić – Jayan

2

Przydatnym różnica między tymi dwoma zadaniami, jeśli budujemy archiwum (ZIP lub wojny lub słoik na przykład) jest to, że zipfileset ma prefix atrybutu można użyć do przeniesienia podane pliki w innym folderze w archiwum. Na przykład, jeśli spełnione są następujące zawarte w większym zestawie fileset i zipfileset elementów:

<zipfileset dir="conf/Gateway" prefix="properties"> 
    <include name="jndi.properties" /> 
</zipfileset> 

następnie plik conf/Gateway/jndi.properties rzeczywiście będzie dołączona do wyjścia jako conf/Gateway/properties/jndi.properties. Możesz osiągnąć ten sam cel w inny sposób, ale czasami jest to przydatne.

W przeciwnym razie wystarczy użyć zadania, które wydaje się najbardziej odpowiednie dla danego zadania.