2016-11-15 3 views
0

Hy!Сравнить две строки в ANT

Мне нужно сравнить две строки в ANT с заданием <equals>, но даже если консоль отображает правильную строку, это не работает для моего кода. Это код:

<echo file="file.txt" append="true">AB${line.separator}</echo> 
<echo file="file.txt" append="true">CD${line.separator}</echo> 

<loadfile property="content" srcFile="file.txt"> 
    <filterchain> 
     <filterreader classname="org.apache.tools.ant.filters.HeadFilter"> 
     <param name="lines" value="1" /> 
     </filterreader> 
    </filterchain> 
</loadfile> 
<echo>${content}</echo> 

      <if> 
       <equals arg1="${content}" arg2="AB" /> 
        <then><echo message="OK"/></then> 
        <else><echo message="not OK"/></else> 
      </if> 

результат билде:

11:24:23  [echo] AB 
11:24:23  [echo] not OK 

Можете ли вы сказать мне, как это исправить, пожалуйста? и thnks :)

+0

Обратите внимание: задача «если» не является стандартной функцией ANT, она является частью стороннего расширения ant-contrib. –

ответ

1

Я подозреваю, что атрибут arg2 отсутствует разделитель строк. Попробуйте это:

<equals arg1="${content}" arg2="AB${line.separator}" /> 

Или, еще лучше, попытайтесь очистить content всех сепараторов линий.

+0

да! Это было так. спасибо – Carlinto

Смежные вопросы