Исключая фляги проекта зависимости во время сборки муравья

Я работаю над проектом Java, где я использую муравей в качестве инструмента сборки.

Предположим, у меня есть два проекта X и Y, и оба они взаимозависимы. Ищу какую-то вещь, где я могу исключить некоторые банки во время сборки, т.е. когда я собираю проект А, он должен исключить некоторые банки во время сборки и при создании войны.

Я знаю, что если мы хотим включить или исключить банки из пути к классам, мы даем

    <include> and <exclude>

в файле build.xml. Но как нам это сделать, когда мы хотим включить или исключить банки, которые находятся за пределами проекта.

Любая помощь приветствуется.

Я сослался на ниже, но не мог понять. Исключая банки из динамически генерируемых путей к классам?

1 ответ

Решение

Наконец я смог найти решение своего вопроса. Отправляю ответ, думая, что это может быть полезно для кого-то в будущем. Я смог заставить его работать, используя <exclude>задача. Ниже приведен фрагмент кода.

<target>
 <delete dir="${dest.dir}" failonerror="false" /> 
      <mkdir dir="${dest.dir}" />
  <war destfile="${package.file}" webxml="${temp.dir.web-inf}/web.xml" basedir="${temp.dir}">
    <fileset dir="${pages.dir}"/>
    <lib dir="${lib.dir}">
        <exclude name="servlet-api.jar"/>
        <include name="de.vogella.build.test.ant.jar"/>
    </lib>
    <classes dir="${temp.dir.classes}" />
  </war>
</target>

Причина, по которой это не сработало для меня в начале, заключалась в том, что я не включил <delete> задача, которая удаляла бы военный файл каждый раз при сборке проекта. Таким образом, старый файл войны не был заменен, и он не показывал мне никаких изменений. Как только я включил удаление, он начал удалять предыдущий файл сборки сборки и обновлять его новым, который работал очень хорошо.

Другие вопросы по тегам