Trên thực tế, câu trả lời được cung cấp bởi @GnanaPrakash là không đầy đủ. Từ tài liệu Ant Contrib:
Các điều kiện này phù hợp để sử dụng trong phần tử. Thật không may, họ không thể được sử dụng trong các nhiệm vụ < trạng >, mặc dù tất cả các điều kiện cho công việc có thể được sử dụng với <bool> và <bool> thể được sử dụng bất cứ nơi nào mà < trạng > có thể được sử dụng.
Vì vậy, islessthan
hoặc isgreaterthan
yếu tố thay thế phải được bao bọc trong một phần tử bool
như vậy:
<property name="small" value="15" />
<property name="big" value="156" />
<if>
<bool>
<islessthan arg1="${small}" arg2="${big}"/>
</bool>
<then>
<echo message="small is less than big!" />
</then>
<else>
<echo message="big is less than small!" />
</else>
</if>
Nếu bạn không làm theo cách này bạn sẽ nhận được một lỗi nói :
if doesn't support the nested "islessthan" element.
Tương tự như http://stackoverflow.com/questions/4639902/apache-ant-comparing-properties-variables thật đáng buồn làm cho nó có vẻ như bạn sẽ phải nhúng một số tập lệnh. – ccoakley
Cảm ơn ccoakley. Đáng tiếc tôi đặt ít hơn trong tiêu đề thay vì lớn hơn so với tìm kiếm Stackoverflow đã không nhặt nó lên: (bình chọn để đóng như trùng lặp. –