Я думаю, что лучший способ - сделать процесс сборки независимым от IDE. Это означает, что ваш проект не должен полагаться на какие-либо специфичные для IDE файлы для сборки, а должен использовать внешнюю систему сборки, такую как Apache Maven , Apache Ant , или даже создавать или настраивать скрипты , Maven поддерживается большинством популярных Java IDE, напрямую или через подключаемые модули.
Если вы не хотите использовать внешние системы сборки, вы должны, по крайней мере, сделать проект максимально простым в настройке (то есть, имея стандартные папки для общих библиотек и других зависимостей). В прошлом, когда я работал над командами с несколькими IDE, я тратил гораздо больше времени на разрешение зависимостей, поскольку предпосылки для построения проекта со временем менялись. В худшем случае вы можете даже столкнуться с тем, что разработчики не удосужились получить последнюю версию из репозитория управления версиями, поскольку они думают, что установка нового проекта - это очень хлопотно.
Если в вашем проекте много библиотечных зависимостей, я думаю, что это хорошая идея сделать их доступными в двоичном виде в репозитории контроля версий. Таким образом, людям не нужно разрешать все зависимости зависимостей и так далее, просто чтобы построить один проект. Однако для этого необходимо, чтобы у вас был кто-то ответственный за поддержание «официальных» двоичных файлов в актуальном состоянии, когда они меняются. (Это почти та же философия, что и в хранилище Maven, но эти принципы можно применять вручную, даже если не используется Maven.)