Maven - это инструмент сборки java проекта: компиляции, создания jar, ...
Бонусы:
- управление зависимостями
- декларативное описание проекта.
Всю работу выполняют плагины. У плагина может быть несколько действий. Вызов действия смотри здесь.
Создание проекта с использованием archetype:generate: http://www.apache-maven.ru/webapp.html
Зависимость в pom.xml
Используемые библиотеки указываются в pom.xml с помощью своих "координат": groupIs, artifactId и номера версии.
<scope> - область действия зависимости:
Ключи для log level
Бонусы:
- управление зависимостями
- декларативное описание проекта.
Всю работу выполняют плагины. У плагина может быть несколько действий. Вызов действия смотри здесь.
Создание проекта с использованием archetype:generate: http://www.apache-maven.ru/webapp.html
Зависимость в pom.xml
Используемые библиотеки указываются в pom.xml с помощью своих "координат": groupIs, artifactId и номера версии.
<dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>3.13.0-GA</version> <scope>compile</scope> </dependency>
<scope> - область действия зависимости:
compile - зависимость доступна и при компиляции и при запуске;
provided - зависимость доступна только при компиляции. Например, servlet-api - не нужна в конечном архиве, поставляемом заказчику, её предоставит контейнер сервлетов.
Полезные ключи
-rf [resume from] - неудача в сборке проектов? возобновить начиная с <project_name>
-pl - собрать только некоторые проекты
-am [also make] - собрать также проекты, зависящие от этого
-amd [also make dependent] - собрать также проекты, от которых зависит этот
-amd [also make dependent] - собрать также проекты, от которых зависит этот
-Dmaven.test.skip=true - пропустить выполнение тестов
TODO: примеры с ключами?
TODO: примеры с ключами?
Ключи для log level
По умолчанию, maven выводит info level.
-X - вывод debug level
-X - вывод debug level
-q [quiet] - вывод error level - только ошибки
mvn deploy:deploy-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.3.0 -Dpackaging=jar -Dfile=ojdbc14.jar -Durl=http://<ip_address:port>/nexus/content/repositories/thirdparty -DrepositoryId=thirdparty
Deploy артефакта в maven-репозиторий
mvn deploy:deploy-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.3.0 -Dpackaging=jar -Dfile=ojdbc14.jar -Durl=http://<ip_address:port>/nexus/content/repositories/thirdparty -DrepositoryId=thirdparty
settings.xml file in HOME_DIRECTORY\.m2. Add following lines to the file. {username} and {password} are your credentials at Nexus.
<settings> ... <servers> ... <server> <id>Snapshots</id> <username>{username}</username> <password>{password}</password> </server> <server> <id>Releases</id> <username>{username}</username> <password>{password}</password> </server> <server> <id>thirdparty</id> <username>{username}</username> <password>{password}</password> </server> </servers> ... </settings>
Тесты JUnit
Для выполнения тестов на test phase используется maven-surefire-plugin.
Итак вы набрали mvn test, а maven не видит тесты. Упорно пишет:
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0.
На странице Surefire говорится, что для исполнения тестов необходимо:
- Создать dependency на JUnit в pom.xml
- Создать тесты в директории для тестов - по умолчанию src/test/java.
Однако, как оказалось, нужно еще соблюдать правила именования классов:
Surefire по-русски и отказ от выполнения тестов: http://www.apache-maven.ru/plugins/maven-surefire-plugin.html
- Test*
- *Test
- *TestCase
Surefire по-русски и отказ от выполнения тестов: http://www.apache-maven.ru/plugins/maven-surefire-plugin.html
Comments
Post a Comment