Eclipse: как сохранить исходные файлы проекта и ant build.xml отдельно от рабочего пространства eclipse? - PullRequest
9 голосов
/ 19 марта 2011

Я пытаюсь заново ознакомиться со средой Eclipse и интеграцией с муравьями.

Вопрос в том, как отделить мои исходные файлы dir + build.xml от рабочей области?

У меня есть небольшой Java-проект и его файл build.xml со всеми исходниками, расположенными в отдельной папке проекта.Затем я запустил Eclipse и позволил ему импортировать мой проект через Новый проект -> «Проект Java из существующего файла сборки Ant»

Все прошло нормально, пока я не захотел собрать проект из Eclipse с использованием build.xml.Муравей начинает жаловаться на невозможность найти исходное дерево.После изучения рабочей области я обнаружил, что Eclipse скопировал build.xml в рабочую область, поэтому очевидно, что ant не может найти там никаких источников.Они все еще находятся под моим директором проекта, и я хочу держать их там, если это возможно.

, так как лучше всего сделать так, чтобы эта настройка работала?рабочее пространство с одной стороны, мой проект с другой?

Спасибо!

Редактировать: Возможно ли то, что я хочу?

Ответы [ 5 ]

10 голосов
/ 05 августа 2011

Вместо использования «Java Project из существующего Ant Buildfile», просто создайте простой «Java Project».В мастере снимите флажок «Использовать местоположение по умолчанию» и введите путь (или просмотрите) к каталогу верхнего уровня вашего существующего проекта (то есть, где находится ваш build.xml).Да, eclipse создаст файлы .project и .classpath в каталоге вашего проекта (если они еще не существуют), но проект останется за пределами рабочей области eclipse.

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

2 голосов
/ 19 марта 2011
1 голос
/ 04 августа 2011

Я делаю это все время в проектах C ++ (нет Java, извините, но я думаю, что концепция переносима).

Мои рабочие пространства находятся в ~ / workspaces / {workspace_name}. У меня есть один общий файл проекта в ~ / {my_projects, а затем исходные деревья (несколько версий) находятся в ~ / proj1, ~ / proj2 и т. Д.

В каждом каталоге ~ / proj * я помещаю символическую ссылку на ~ / my_projects / .project и .cproject (требуется для C ++, не используется в Java). Таким образом, каждое исходное дерево совместно использует один файл проекта. Затем в каждом рабочем пространстве (по одному для каждого исходного дерева) я настраиваю рабочее пространство путем импорта ссылки на проект. Например, ~ / workspaces / proj1 импортирует ~ / proj1 / .project, но ~ / proj1 / .project фактически является символической ссылкой на ~ / my_projects / .project.

Так что это держит источник отдельно от рабочих пространств. При сборке нет никакой реальной конфигурации, которую нужно делать - у меня просто есть запуск Eclipse make в соответствующем узле дерева - у нас уже есть собственная система сборки, ориентированная на команды (мы не используем ant, но должен применяться тот же принцип) ).

Я управляю исходным кодом папки ~ / my_projects в приватной области SCM, поэтому другие члены команды не видят ее или возятся с ней - многие из них вообще не используют Eclipse.

0 голосов
/ 05 августа 2011

Я делаю это все время (по общему признанию, используя maven, а не муравья), но применяется тот же принцип.

Если у вас есть существующий проект в Eclipse (с .project в дереве исходных текстов), вы можете импортировать проект-> Импортировать существующий проект. Когда появится диалоговое окно, вы можете выбрать «Копировать проекты в рабочую область». Убедитесь, что это не отмечено, и их импортируйте.

Вы по-прежнему сохраняете .project в исходном дереве исходных текстов, но это все.

Так что теперь у меня есть

  1. code / xxx (содержит файлы .java, находящиеся в SVN)
  2. code / xxx-workspace (содержит рабочее пространство eclipse)
0 голосов
/ 19 марта 2011

Нет необходимости пытаться избежать Ant и Eclipse, используя один и тот же набор исходных файлов. На самом деле, вероятно, лучше использовать один и тот же набор.

Имейте в виду, вы на самом деле ничего не смешиваете. Существует только один набор исходных файлов, а затем есть два разных способа его построения; Муравей и Затмение. Эти компоновщики не зависят друг от друга, поэтому нет проблем с подключением к Eclipse. Вы даже можете с радостью передать все файлы eclipse (.classpath, .project, .settings) в систему управления версиями, не затрагивая разработчиков, использующих другую IDE.

...