Пожалуйста, смотрите
http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
src/main/java Application/Library sources
src/main/resources Application/Library resources
src/main/filters Resource filter files
src/main/assembly Assembly descriptors
src/main/config Configuration files
src/main/webapp Web application sources
src/test/java Test sources
src/test/resources Test resources
src/test/filters Test resource filter files
src/site Site
LICENSE.txt Project's license
README.txt Project's readme
Кстати, мы осуществили эту миграцию на существующих проектах.
Было очень долгой и трудной задачей заставить все работать как задумано, но мы наконец-то сделали это и довольны.
ОБНОВЛЕНО
Когда у вас много проектов, у вас есть одинаковая структура для каждого проекта .
Теперь настоящая проблема начинается, когда вы хотите сгруппировать их. Нам было трудно читать документацию и лучшие практики Maven и решать, какая структура нам подходит.
Основная идея состоит в том, чтобы сгруппировать связанные проекты в общий каталог (который мы называем модулем), что позволяет обрабатывать модуль в целом, не перечисляя их. Но если вы открываете модуль в IDE (в нашем случае Eclipse), сами проекты принадлежат ему, но не открываются как подпроекты (этого понятия в Eclipse не существует).
Мы получили строгую иерархию, которая избавила нас от многих трудностей:
- Фактические проекты кодирования (проекты Java) всегда находятся в нашем дереве каталогов. Они единственные, которые мы открываем в IDE. Они относятся к типу JAR или WAR.
- Их родители / модули всегда имеют тип POM. У них нет кода Java.