Начните с Maven - PullRequest
       7

Начните с Maven

2 голосов
/ 26 февраля 2011

У меня есть опыт в Ant, как начать работать с maven.Есть ли у мавена преимущество перед муравьем?

Ответы [ 3 ]

4 голосов
/ 26 февраля 2011

Существует довольно большая разница: когда муравей заставляет вас создавать свои собственные цели, вы получите набор целей по умолчанию для maven, например, clean, install, package и т. Д., Без сценариев.

Maven рекомендует использовать общую структуру каталогов для классов Java, ресурсов и т. Д. Если вы это сделаете, maven находится только в файле xml, где вы указываете некоторые метаданные проекта, такие как name, package иНаиболее важные зависимости.Он обеспечивает поиск зависимостей, аналогичный тому, что ivy делает для ant.

Основываясь на стандартном продвижении maven, разработчикам становится очень легко подходить и создавать ваши проекты.В IDE, такой как Netbeans, достаточно выбрать open project, а затем нажать кнопку install, чтобы скомпилировать и установить проект в локальном хранилище.

Я рекомендую работать с Maven Maven.Делая вещи по-другому, часто причиняет больше боли, чем оно того стоит.Maven предлагает структуру плагинов, где вы можете выполнять различные задачи, например, вызывать ant-библиотеку, если вам это нужно.Если вы активно работаете с несколькими проектами (и хотите, чтобы переключение проектов было как можно более простым), maven - это огромный шаг вперед, особенно в сочетании с сервером репозитория, таким как Nexus или Archiva.

Для начала

Либо вы можете сгенерировать структуру своего проекта, используя цель archetype maven, либо вы можете сделать это так, как я, копируя каждый раз пустой шаблонный проект.,Затем вам понадобится двоичный файл maven и файл определения проекта pom.xml, который я обычно копирую и вставляю между проектами.

Образец включен ниже.В этом примере вы получите внешнюю библиотеку log4j и автоматически получите все необходимые компоненты для сборки и упаковки своего собственного проекта (в данном случае в файл jar).

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.company</groupId>
    <artifactId>projectname</artifactId>
    <packaging>jar</packaging>
    <version>0.1.0-SNAPSHOT</version>
    <name>${project.artifactId}</name>
    <url>http://maven.apache.org</url>

    <dependencies>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.16</version>
        </dependency>
    <!-- add more dependencies here ... -->
    </dependencies>


    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>
1 голос
/ 26 февраля 2011

Примерно две недели назад я был в такой же ситуации. На мой взгляд, Maven намного мощнее по сравнению с Ant.

Он имеет команду создания, которая позволяет очень легко запускать новые проекты различного типа (артефакты), а также создает стандартную структуру каталогов вместе с файлом pom.xml, тем самым заботясь о многих вещах, которые необходимо записать в файл build.xml Ant.

Управление зависимостями также намного лучше. Maven загрузит зависимости из репозиториев и сохранит их в центральном репозитории вашей системы. Если зависимость уже присутствует в локальном репозитории, она будет извлекать ее оттуда, а не загружать снова.

Я использую eclipse, и у maven есть команда (mvn eclipse:eclipse), которая создает файл .classpath в каталоге проекта. Поэтому нет необходимости снова добавлять библиотеки в eclipse.

Руководство по началу работы на веб-сайте maven является хорошим ресурсом и охватывает довольно много материала -

0 голосов
/ 26 февраля 2011

По сравнению с Ant, Maven хорошо справляется с управлением зависимостями и стандартизацией жизненного цикла сборки.

Что касается более подробного изучения, документация Maven довольно читабельна и тщательна.

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

http://maven.apache.org/what-is-maven.html

Затем загрузите и установите maven, откройте терминал и введите ...

mvn archetype:generate

Выберите все значения по умолчанию, и вы получите простой проектируемый проект с одним исполняемым классом и соответствующим тестовым файлом. Используйте его в качестве тестового проекта, чтобы ознакомиться с жизненным циклом сборки и процессом разрешения зависимостей.

...