isDirectory возвращает false для задачи ant в папке под svn - PullRequest
1 голос
/ 30 марта 2012

Здравствуйте, я запускаю задачу муравья через Eclipse, которая генерирует некоторый код, но я получаю сообщение об ошибке при проверке аргументов

build/classes is not a readable directory

соответствующий код:

if (!destDirectory.isDirectory()) { 
   error(destDirectory.toString() + " is not a readable directory");
}

Я делаю это под Windows 7, а папка находится под svn и общая папка для CentOS с VirtualBox.Каталог создается другой задачей муравья, которая просто выполняет mkdir.

У меня есть пользователь, но с отключенным UAC, и я могу сказать, что проблем с разрешениями быть не должно.

РЕДАКТИРОВАТЬ:

некоторые части файла муравья:

<project name="xpto" default="compile" basedir=".">
  <target name="prepare">
    <echo message="Preparing the project for build..."/>
    <mkdir dir="${classes.build.rel-dir}"/>
    <mkdir dir="${db.rel-dir}"/>
    <mkdir dir="${build.rel-dir}" />
    <mkdir dir="${dist.dir}" />
  </target>
  <property name="src.rel-dir" value="src"/>
  <property name="build.rel-dir" value="build"/>
  <property name="classes.build.rel-dir" value="${build.rel-dir}/classes"/>
  <target name="instrument-classes" depends="compile">
    <dml-post-processor dir="${classes.build.rel-dir}">
      <fileset file="${dml.rel-file}"/>
      <classpath refid="project.classpath" />
    </dml-post-processor>
  </target>
</project>

, поэтому я думаю, что путь правильный и будет использовать ./build/classes

РЕДАКТИРОВАТЬ:

instrument-classes:
  [echo] Injecting FenixFramework Voodoo Magic...
  [echo] path -> build/classes

на выходе работает echo на ${classes.build.rel-dir}

1 Ответ

1 голос
/ 07 июля 2012

Я столкнулся с этой проблемой при использовании знакомого фреймворка (fenix) при использовании ant-plugin для eclipse.На самом деле плагин «запускает» муравей из другого каталога.Тем не менее, запуск ant из командной строки (в windows7), похоже, мне подходит.

Итак, решение состоит в том, чтобы использовать переменную $ {basedir} в сценарии build.xml для четко определенных путей.

пример:

<property
    name="dir.project.java"
    value="${basedir}/src/project/" />

вместо:

<property
    name="dir.project.java"
    value="src/project/" />

Извините за устаревший ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...