Во-первых, я должен сказать, что хотя я использую плагин m2eclipse для Eclipse, я на самом деле использую только функцию «включить управление зависимостями»;все остальное я пишу от руки, в текстовом редакторе pom.xml.Это всего лишь личное предпочтение, а не правило.
Следует помнить о maven, что он работает на основе «соглашения о конфигурации» - что, в основном, означает, что, если вы не укажете это иначе,он делает множество предположений.
Первое предположение состоит в том, что ваша структура каталогов соответствует следующему:
Project Dir
|
|- src
| |- main
| | |- java
| | |- resources
| |
| |- test
| | |- java
| | |- resources
| |
| |- site
|
|- pom.xml
(Более подробную информацию о структуре каталогов можно найти на Введениек стандартному макету каталога )
Если ваш проект не соответствует этой структуре, вам необходимо сообщить об этом Maven, например:
<build>
<directory>target</directory>
<outputDirectory>target/classes</outputDirectory>
<testOutputDirectory>target/test-classes</testOutputDirectory>
<sourceDirectory>src/main/java</sourceDirectory>
<scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
<testSourceDirectory>src/test/java</testSourceDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/resources</directory>
</testResource>
</testResources>
</build>
Следующая часть, о которой нужно беспокоитьсяэто зависимости ... Вот где Maven достаточно силен, но только если вы действительно знаете, где находятся ваши зависимости, и это может быть довольно запутанным для кого-то, только начинающего с Maven (это расстроило меня до чертиков!).Вот пара добавленных зависимостей (JUnit - используется только на этапе тестирования - и log4j)
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
</dependencies>
Maven должен быть достаточно умным, чтобы определять зависимости указанных зависимостей и т. Д., Поэтому вам нужно толькоссылаться на зависимости, которые вы используете напрямую.
Если требуемые зависимости не могут быть найдены в репозитории, который использует Maven, вам нужно будет добавить дополнительные репозитории - в этом случае Google - ваш друг.
Это, вероятно, должно решить ваши начальные проблемы.
В зависимости от размера вашей команды разработчиков, вы можете посчитать целесообразным установить локального менеджера репозитория и заставить Maven использовать локальное репо в качестве источника всех зависимостей, и это будетскачайте все, что не хранится внутри, но это еще одна червячная банка, когда вы лучше познакомитесь с самим Maven.