Вам не нужно импортировать ear в родительский проект, родитель должен просто ссылаться на ear как модуль в его pom и отображаться как подкаталог в родительском проекте.
Возможно, мне неясно, что вы подразумеваете под import .
Порядок, в котором модули объявляются в родительском pom, является порядком, в котором они построены, поэтому ear должен быть последним модулем в списке, поскольку в нем есть зависимости jar1, jar2 и web-модулей.
web должен быть вторым последним модулем в списке, потому что он предположительно зависит от jar1 или jar2 или обоих.
M2Eclipse имеет возможность импортировать многомодульную структуру проекта, которую вы описали выше, как отдельные проекты в рабочей области, выбор этой опции предотвращает необходимость работы с каждым отдельным модулем через родительский проект и расширяется до самого конца.
Это не меняет вложенную структуру на диске, оно просто представляет модули как свой собственный проект, а каталоги модулей также видны в родительском проекте.
Это также позволяет каждому модулю быть собранным отдельно, или полная сборка может быть выполнена путем сборки родительского проекта.
Читайте о реакторе Maven в этот вопрос .
Предлагаю перед тем, как заняться своим основным проектом, попробовать быстрый архетип, см. http://docs.codehaus.org/display/MAVENUSER/Archetypes+List
Архетипы appfuse Мэтта Райбла - действительно хорошие примеры, попробуйте команду ниже, чтобы создать каркасную структуру:
mvn org.apache.maven.plugins:maven-archetype-plugin:2.0:generate -DgroupId=com.test.archetest -DartifactId=archetest -DarchetypeArtifactId=appfuse-modular-jsf -DarchetypeGroupId=org.appfuse.archetypes
Посмотрите на общую структуру проекта, а затем импортируйте ее, используя M2Eclipse, который сгенерирует файлы проекта eclipse.
Вы также можете сделать это через mvn eclipse:eclipse
, но это не даст вам отдельные модули в вашем рабочем пространстве.
Некоторые проекты предпочитают не фиксировать файлы проекта eclipse, а скорее генерируют их из pom с помощью любого из методов, упомянутых выше.
Если вы используете структуру из архетипа, приведенного выше, вам нужно добавить модуль ear в родительский проект, это можно сделать с помощью M2Eclipse.