Поместить файлы сборки непосредственно в папку рабочего пространства - очень плохая идея по многим причинам, и поэтому кажется, что это просто невозможно сделать.Рабочая область - это просто ... контейнер проекта.
Я вижу два пути решения вашей ситуации:
1 - Создайте мастер-проект, который будет служить той же цели, что и ваша рабочая область.Затем переместите все свои проекты как подпапки этой папки проекта.У вас будет желаемая структура папок.Чтобы исправить структуру проекта и вернуть каждый проект в рабочее пространство, вы можете использовать функцию импорта и импортировать существующий проект.Убедитесь, что вы не выбрали копирование в параметре рабочей области импорта.Это позволит вам иметь проект в папке вашей рабочей области, который фактически не находится непосредственно в рабочей области.Более новые версии eclipse будут обрабатывать правильно вложенные проекты, как это, более старые версии не могли.Обратите внимание, что этот метод также работает для проектов, которые не являются подпапками рабочей области, они могут находиться в любом месте на жестком диске и по-прежнему отображаться в пользовательском интерфейсе рабочей области eclipse.
2 - Другой вариант - создать главный проект.но оставьте все на одном уровне (не размещайте компоненты проекта в папке проекта). Затем скомпонуйте сценарий сборки так, чтобы он ссылался на другие проекты по относительным путям.Обратите внимание, что с некоторыми инструментами сборки это даже не нужно, поскольку они будут смотреть на свой репозиторий.
Я успешно использовал оба макета в сборках с Ant и Maven.Скоро попробую Айви, потому что Мэйвен так же болезнен, как и благословен.Скорее всего, комбинация Ant-Ivy пока отсутствует.
В личной заметке я думаю, что второй вариант лучше подходит для масштабируемости.Поскольку все проекты находятся на одном уровне, это упрощает повторное использование компонента-проекта в других главных проектах без необходимости делать исключения.В основном у вас есть два типа проектов.Фактические проекты кода, которые являются строительными блоками вашего приложения, и проекты сборки, которые создают конечный готовый продукт.Таким образом, вы можете получить хорошее разделение между механизмом сборки ваших продуктов и вашего проекта.Это еще один способ, которым Maven раздражает меня, так как для многих вариантов мы должны поместить их в основной POM, от которого наследуются проекты.Теперь, чтобы сделать вещи немного по-разному в разных проектах, нужно дополнить главное POM спецификой каждого из них.Я бы предпочел поместить это в мастер-проект, чем распространять его повсюду.
В любом случае, мои 2 цента, надеюсь, это поможет.