2010-05-22 32 views
35

Nếu tôi có ba mục tiêu, một trong những "tất cả", một "biên dịch" và một "JSP", làm thế nào tôi sẽ làm "tất cả" phụ thuộc vào hai người kiaNhiều phụ thuộc vào nhiệm vụ kiến ​​

Nó sẽ là

<target name="all" depends="compile,jsps"> 

hoặc nó sẽ là

<target name="all" depends="compile","jsps"> 

hoặc có thể một cái gì đó thậm chí khác nhau?

Tôi đã thử tìm kiếm các tập lệnh ant ví dụ để tắt nó, nhưng tôi không thể tìm thấy một tập lệnh có nhiều phụ thuộc.

Trả lời

68

Cựu:

<target name="all" depends="compile,jsps"> 

Điều này được ghi lại trong Ant Manual.

+4

Hãy cẩn thận làm theo các ví dụ ở đây và không bao gồm dấu cách sau dấu phẩy (đã bắt được tôi). – joejag

+4

@joejag Con kiến ​​của tôi chấp nhận có hoặc không có dấu cách sau dấu phẩy; Phiên bản bạn đang sử dụng? –

11

Đây là ứng dụng hàng đầu.

Chỉ cần sử dụng thẻ vang nếu bạn muốn nhanh chóng xem cho chính mình

<target name="compile"><echo>compile</echo></target> 

<target name="jsps"><echo>jsps</echo></target> 

<target name="all" depends="compile,jsps"></target> 

Bạn cũng có thể ghé qua thẻ antcall nếu bạn muốn linh hoạt hơn trên đặt hàng nhiệm vụ

+1

Dạy một người đàn ông để câu cá ... –

10
<target name="all" depends="compile,jsps"> 

Điều này được ghi lại trong Ant Manual.

2

Cách khác là sử dụng antcall linh hoạt hơn nếu bạn muốn chạy các mục tiêu tùy theo song song. Giả sử biên dịch và JSP có thể chạy song song (tức là trong bất kỳ thứ tự), tất cả các mục tiêu có thể được viết như sau:

<target name="all" description="all target, parallel"> 
    <parallel threadCount="2"> 
    <antcall target="compile"/> 
    <antcall target="jsps"/> 
    </parallel> 
</target> 

Lưu ý rằng nếu mục tiêu không thể chạy song song, nó là thích hợp hơn để sử dụng các hương vị đầu tiên với thuộc tính phụ thuộc vì antcalls chỉ được giải quyết khi được thực hiện và nếu mục tiêu được gọi không tồn tại, bản xây dựng sẽ không chỉ ở điểm đó.