Я нашел Шаблоны UI быть полезной ссылкой для этого вида вещи. Это расположено во многом как классическая книга Шаблонов разработки GoF с каждым описанием шаблона, содержащим:
В самом деле, следование философии Maven и, следовательно, его соглашениям - хорошая идея, поскольку несоблюдение их усложняет ситуацию.
Но, поскольку кажется трудно резюмировать философию одним ответом, поскольку у Maven есть некоторая кривая обучения, и поскольку документация Maven не всегда так хороша, как должна быть (это, возможно, самая большая наземная мина), я бы посоветовал взять книгу (или две) и делать что-то как в книге. Если вы не знаете, какой выбрать, посмотрите на этой странице . На мой взгляд, Maven: The Definitive Guide и Better Builds with Maven определенно являются хорошими чтениями и доступны в Интернете. Но более поздний Apache Maven 2: Effective Implementation , в соавторстве с Бреттом Портером, тоже должен быть хорошим, я просто не стал не читал.
Когда вы начнете, не стесняйтесь спрашивать совета, руководства, указатели по конкретным темам, чтобы встать на правильный путь. Список пользователей maven - хорошее место для этого. Еще один вариант - задать вопросы на StackOverflow :) Например, , как организовать многомодульную сборку , может быть одной из первых тем. Но без подробностей ответить сейчас невозможно.
Я определенно рекомендую создать репозиторий nexus в вашем регионе. Это бесплатно и поможет интегрировать jar-файлы репозитория, отличные от maven, и кэшировать их локально, чтобы повысить производительность настройки новой среды.
Мой предыдущий ответ о настройке всей группы Репозиторий может дать полезный совет. А также это при разделении проектов .
Не используйте необычные функции, которые вам действительно не нужны, например:
Постарайтесь оставаться максимально простым как можно дольше. Проходите цикл выпуска очень рано, например, выпуская выпуски версий 0.0.1. Автоматизируйте это.
Если вы используете сложную настройку (например, Eclipse + m2eclipse + WTP + аспекты), Будьте готовы к некоторым сбоям и знайте, где каждый инструмент хранит свои настройки, временные файлы и т. д., чтобы вы могли вручную очистить их при необходимости. Много времени можно потерять, если вы подумаете, что «maven делает все», только чтобы узнать, что зависимость Snapshot не была обновлена из-за кэширования или чего-то подобного.
In the term of 'Maven' we think of Maven core and the bunch of plugins, which are developed by Maven team or other people. Things that aren't perfect in Maven world are:
There are also psychological aspects of using Maven. For people who use Ant in daily work switching to Maven is hard especially for non HelloWorld projects. Others people have bad experience from early days of Maven when there weren't no good documentation, books, and lesser set of plugins. For these people it was easier did theirs projects in Ant. The last reason why some people don't like Maven is ignorance.
I agree with Pascal that "so much people can be blindly wrong". I can't imagine todays Java world without Maven.