Для работы maven нужны переменные окружения:
mvn archetype:generate
Мавен скачает плагины (архетипы проектов), предложит ввести:
В итоге - у собранного проекта будет название - artefactId-version
и построит структуру директорий, необходимую для проекта.
Плагины попадут в ~/.m2/repository/
mvn clean
Очистит проект.
mvn compile
Соберет код проекта и в итоге - создаст директории target/classes/….
mvn test-compile
Соберет код тестов проекта и в итоге - создаст директории target/test-classes/…. mvn test Запустит собранные тесты
mvn install
Собрет jar-файл и положит его в корень директории target. Также - установит его в локальный репозиторий (~/.m2/repository) для использования его в качестве зависимости в других пакетах.
mvn validate
Валидирует проект.
mvn compile
Соберет код проекта и в итоге - создаст директории target/classes/…. mvn test-compile Соберет код тестов проекта и в итоге - создаст директории target/test-classes/…. mvn test Запустит собранные тесты
mvn package
Соберет пакет
mvn intergration-test
Запуск интеграционных тестов.
mvn verify
Проверка пакета
mvn install
Собрет jar-файл и положит его в корень директории target. Также - установит его в локальный репозиторий (~/.m2/repository) для использования его в качестве зависимости в других пакетах.
mvn deploy
Копирует собранный пакет на удаленный репозиторий для дальнейшего использваония в совместной разработке или продакшене.
Скачать зависимости, указанные в pom-файлике можно так:
mvn dependency:copy-dependencies -DoutputDirectory=yourfoldername -Dhttps.protocols=TLSv1.2
Скачать исходники зависимостей:
mvn dependency:copy-dependencies -Dclassifier=sources -DoutputDirectory=yourfoldername -Dhttps.protocols=TLSv1.2
Чтобы скачать зависимости через proxy в файлик конфигурации maven (conf/settings.xml) нужно добавить такое:
<settings> <proxies> <proxy> <active>true</active> <protocol>http</protocol> <host>PUT-YOUR-PROXY-NAME</host> <port>PUT-YOUR-PORT-NUMBER</port> <username>proxyuser</username> <password>somepassword</password> <nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts> </proxy> </proxies> </settings>