Подтвердить что ты не робот

Интегрируйте конструктор Ant в Eclipse: Ошибка "Переменная ссылается на пустой выбор"

У меня есть несколько задач Ant в моем проекте Eclipse JDT, который я хочу выполнить перед каждой компиляцией, поэтому я добавил конструктор Ant в конфигурацию компоновщика Eclipse. В качестве местоположения файла сборки я ввел

${workspace_loc:${project_path}/build.xml}

Я не хочу, чтобы здесь были абсолютные пути или имя проекта. Конфигурация Eclipse является частью репозитория, а другие пользователи проверяют это с помощью разных макетов файловой системы и, возможно, разных названий проектов Eclipse. Например, у меня обычно есть несколько рабочих копий одного и того же проекта в рабочем пространстве Eclipse, каждый из которых, конечно, имеет другое название проекта.

Это работает большую часть времени. Однако иногда я получаю следующее сообщение об ошибке в диалоговом окне:

Ошибки произошли во время сборки.
Ошибка выполнения построителя "Встроенный внешний инструмент" в проекте "MyProjectName".
Переменные ссылки пустой выбор: ${project_path}
Переменные ссылки пустой выбор: ${project_path}

Это происходит, когда Eclipse решает построить проект, пока в обозревателе пакетов не выбран ресурс проекта. Я могу воспроизвести его, создав в проекте фиктивный файл, удалив файл за пределами Eclipse, выбрав его в Eclipse и нажав F5. Eclipse отметит, что файл больше не существует, удалите его из Проводника пакетов (поэтому ничего больше не выбрано), а затем создайте проект, указав сообщение об ошибке.

Хотя не так важно, чтобы задачи Ant выполнялись для каждой компиляции, я не хочу иметь такое окно с сообщением об ошибке, которое будет путать пользователей.

Итак, как я могу

  • ссылайтесь на файл build.xml по-другому, чтобы проблема исчезла, или
  • устранить проблему или
  • подавить диалог ошибки для этой конкретной ошибки?

Любая помощь будет оценена по достоинству. Я использую Eclipse 3.7 (Indigo).

4b9b3361

Ответ 1

Очевидно, что он имеет проблемы с переводом ссылки на переменную ($ {project_path}) внутри... ссылку на переменную ($ {workspace_loc}).

Вместо этого вы можете попробовать переменную ${build_project}

${build_project:/build.xml}

Надеюсь, это поможет.

Ответ 2

У вас возникли некоторые неудобства в пользовательском интерфейсе Eclipse. Логика диктует вам, что, когда вы открыли проект, переменные, относящиеся к открытому проекту, должны быть заполнены. Но это не так, потому что из-за ошибки или по другой причине код убил их после того, как фокус переместился в другое место.

Итак, в качестве обходного пути вы можете:

  • Поместите полный путь к файлу xml
  • Перед запуском внешнего инструмента нажмите в проекте слева (в представлении Project Explorer), затем нажмите кнопку запуска.

Нажатие на проект (значок папки) заполнит переменные

Кстати, я думаю, что ${workspace_loc}${project_path}/build.xml в порядке.