2013-03-16 3 views
2

У меня есть проект, написанный полностью на Java, и с помощью нескольких внешних библиотек Java (спящий режим, пару Apache достоянию, MQ, довольно стандартный материал.)Maven против Затмения

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

Я понятия не имею, почему они использовали Maven в первую очередь (они не доступны для обмена этими знаниями со мной.) Проект среднего размера, и ничто, что делает компания, слишком сложно.

Теперь мой вопрос: есть ли у меня какая-то причина для сохранения Maven? Просматривая, я не могу найти никакой реальной причины для этого, и я особенно недоволен структурой каталогов, которая требует от меня спуститься на 3 уровня, чтобы добраться до фактического пакета Java и кода Java.

(Что я хотел бы сделать, это просто переместить все в Eclipse, используя структуру Eclipse. Это займет 1-2 дня работы, чтобы запустить ее, поэтому не было большой потери времени и с моей точки зрения взгляните прямо сейчас, это сделает мою жизнь проще двигаться вперед и позволит мне сделать лучшую работу для компании, которая нанимает меня.)

+2

Почему бы просто не импортировать проект maven в eclipse для разработки и использовать maven для создания командной строки или в ваших построениях CI. –

+2

Эдди, это не «выбор/или». Вполне возможно использовать maven и eclipse вместе - плагин m2e для eclipse делает эту работу достаточно хорошо, большую часть времени ... – bacar

+0

Спасибо за ответ, Тим и бакар. Почему даже беспокоиться с Maven? Eclipse строит все из коробки, и он отлично справляется с этими простыми задачами. – Eddy

ответ

3

Использование maven вам не нужно заботиться об импорте банок в проекте, поскольку это упомянутый в файле pom. Также эти банки будут загружаться из репозитория maven, если они понадобятся (он должен присутствовать в репозитории maven). Это также поможет вам сделать все банки за один раз (нужно настроить только один раз) :)

+0

Итак, правильно ли я понимаю, что где-то есть хранилище банок, и как только я укажу его местоположение, Maven автоматически получит банки из него (и, возможно, даже обновляют версии?) Это звучит немного сумасшедшим для меня. Я работал над многими проектами, и как только я поместил все необходимые банки в каталог библиотеки Eclipse, мне никогда больше не приходилось беспокоиться о них. – Eddy

+1

Поиск в google относительно "maven repository", где хранятся все банки. Он загрузит версию jar, которую вы укажете в файле pom. Это очень удобно, так как вам не нужно беспокоиться о зависимостях, поскольку они будут загружаться автоматически :) – Sach

+1

@Eddy - центральный репозиторий jar не является «сумасшедшим», чем репозитории пакетов linux или даже магазинами приложений для смартфонов :-) – radai

5

Да: управление транзитивными зависимостями вручную - это безумное поручение, и оно имеет массу других функций, которые также сложны сделать вручную.

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

Используйте плагин Eclipse-Maven, например m2eclipse или аналогичный.

+0

Дэйв, можете ли вы взглянуть на мой комментарий к ответу ниже? (и спасибо за ответ.) – Eddy

+0

@Eddy Попробуйте обновить версию чего-нибудь. Даже относительно небольшой Java-проект может иметь полдюжины зависимостей верхнего уровня, которые, в свою очередь, имеют зависимости и т. Д. Отслеживание этого вручную просто глупо, очень сложно, и может привести к часам отладки. –

+1

+1 для бит IDE. Где я работаю, у нас есть люди, использующие Eclipse, IntelliJ, Netbeans, emacs и vim. И все это прекрасно работает, потому что мы избегаем специфических особенностей IDE и используем maven для сборки. – yshavit

1

Maven - мощный, расширяемый проект с открытым исходным кодом. Конфигурация содержится в файлах XML, поэтому она легко доступна любому текстовому редактору. Если вы хотите поделиться конфигурацией, что вы будете делать, просто разместите pom.xml. Многие IDE имеют преобразователи конфигурации проекта в Eclipse и Eclipse, но эта конфигурация локальна и используется внутри среды разработки. Разработчики даже не сохраняют такую ​​конфигурацию в VCS. Проверка такой конфигурации не имеет смысла. Но maven независим, потому что он полагается на внешние репозитории, которые отслеживают каждую библиотеку и версию, используемые проектом. Многие IDE, включая Eclipse, поддерживают Maven через плагины. Это может сохранить неповрежденные обе конфигурации.

0

Вы должны оставить Maven на месте, если вы хотите использовать Eclipse, вы можете это сделать и все еще иметь функциональность Maven. Вы можете создать любую структуру папок в Maven, просто нужно указать пути в файле pom.

Смежные вопросы