2015-11-06 3 views
0

Я хотел бы исключить некоторые пакеты для компиляции, если свойство было истинным или ложным. Ниже приведен мой муравейник, но я получаю ошибку:Использование условия If в шаблоне Ant javac

<javac srcdir="src;src-generated" destdir="classes" debug="true" encoding="utf-8"> 

     <if> 
      <equals arg1="${compile.csv}" arg2="false"/> 
      <then> 
    <exclude name="${csv.package}"/> 
     <exclude name="${excel.package}"/> 
      </then> 
      </if> 

javac не поддерживает вложенный элемент «if».

Заранее благодарю вас за ответы.

EDIT:

я определил свойство csv.plugin.disabled в муравьиной построения конфигурации, вкладка свойств.

<property name="csv.package" value="com/service/transfer/impl/**"/> 
    <property name="excel.package" value="com/service/transfer/excel/impl/**"/> 


     <javac srcdir="src;src-generated" destdir="classes" debug="true" encoding="utf-8"> 


     <exclude name="${csv.package}" if="${csv.plugin.disabled}"/> 
      <exclude name="${excel.package}" if="${csv.plugin.disabled}"/> 

У меня все еще есть эти пакеты, включенные в папку классов.

ответ

2

Постарайтесь вложенными src элемента - вы можете использовать там сложный путь-подобные структуры (см Javac Task для полной информации):

<src> 
       <fileset dir="src" > 
        <exclude name="${csv.package}" if="${compile.csv}" /> 
        <exclude name="${excel.package}" if="${csv.plugin.disabled}"/> 
       </fileset> 
       <fileset dir="src-generated" > 
        <exclude name="${csv.package}" if="${compile.csv}" /> 
        <exclude name="${excel.package}" if="${csv.plugin.disabled}"/> 
       </fileset> 
</src> 
+0

Пожалуйста, объясните бы как? Спасибо –

2

javac задача может принимать условные include/exclude элементов. Из documentation:

This task forms an implicit FileSet and supports most attributes of <fileset> (dir becomes srcdir) as well as the nested <include> , <exclude> and <patternset> elements.

<javac srcdir="src;src-generated" destdir="classes" debug="true" encoding="utf-8"> 
    <exclude name="${csv.package}" unless="${compile.csv}" /> 
    <exclude name="${excel.package}" unless="${compile.csv}" /> 
</javac> 
+0

Спасибо, я отредактировал сообщение. –

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

  • Нет связанных вопросов^_^