Для работы 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>