Ошибка «Архив не существует» при запуске задачи ant jar

#ant #build #jar

#муравей #строить #банка #ant #сборка #jar

Вопрос:

Я запускаю файл сборки ant, который создает Jar. Задача выглядит примерно так:

 <target name="generator-app" depends="clean,compile">
    <jar jarfile="${gen.App}">
       <manifest>
       ...
       </manifest>
       <fileset dir="${classes}">
          <include name="com/mypackage/**" />
       </fileset>
       <zipfileset dir="${jars}" />
     </jar>
</target>
  

Файл сборки запускается и создает файл, как и ожидалось, когда я запускаю его в Linux, но завершается с этой ошибкой на любой другой платформе:

 BUILD FAILED /home/user/build.xml:287: the archive doesn't exist
  

Я попытался использовать destfile вместо jarfile, но результат тот же. Архив на самом деле не существует, но цель задачи — создать его.

Есть ли какие-либо ограничения на определенных платформах или какой-либо способ исправить это?

Комментарии:

1. Может ли это быть каталог $ {jars}, который не существует?

Ответ №1:

Прямые косые черты мне не кажутся очень оконными 🙂 Может быть, вам следует преобразовать ваши косые черты в зависимости от вашей ОС? Вы где-нибудь передаете этот путь?

Комментарии:

1. Я всегда работаю в системах на базе Unix, так что это не проблема 🙂

2. @FailedDev: Ant использует косые черты даже в Windows.

3. @JBNizet У меня и раньше были некоторые проблемы с косыми чертами в Windows.

Ответ №2:

Я нашел проблему. Я попытался использовать более новую версию ant, и теперь ошибка указывает, чего именно не хватает (jar, который нужно упаковать в jar, который нужно создать).