Spis treści
Poniżej znajdziesz zbiór przydatnych informacji i komend Maven.
Informacje¶
- Maven wymaga ustawienia JAVA_HOME na główny katalog JDK.
- Konfiguracja projektów Maven zawarta jest w pliku pom.xml w katalogu głównym projektu.
- ${basedir} oznacza główny katalog projektu w Maven.
- ${basedir}/src/main/java – tutaj umieszczamy kod Java.
- ${basedir}/src/main/resources – miejsce na zasoby.
- ${basedir}/src/test/java – testy jednostkowe.
- ${basedir}/src/test/resources – zasoby testów.
- target to katalog, który zawiera skompilowane klasy projektu i plik JAR/WAR.
- Katalog target powinien być w pliku .gitignore, aby nie był wersjonowany.
- Lokalne repozytorium artefaktów znajduje się w katalogu użytkownika w podkatalogu .m2.
- Ustawienia dla Mavena można zawrzeć w pliku settings.xml, który powinien być umieszczony w katalogu .m2
- groupId, artifactId i version – określają projekty w Mavenie.
- Zależność lokalizacji w lokalnym repozytorium .m2 od powyższych wartości:
- Nazwy plików z testami jednostkowymi to pliki pasujące do jednego ze wzorców: Test*.java, *Test.java, *Tests.java, *TestCase.java
- Nazwy plików z testami integracyjnymi to pliki pasujące do jednego ze wzorców: IT*.java, *IT.java, *ITCase.java
- Aby testy integracyjne były uruchamiane w fazie verify, należy skonfigurować plugin Failsafe.
Przydatne komendy¶
- Pobranie lokalizacji lokalnego repozytorium .m2:
mvn help:evaluate -Dexpression=settings.localRepository
- Lista faz budowy projektu i domyślnie skonfigurowane pluginy / informacje o pluginie:
mvn help:describe -Dcmd=install mvn help:describe -Dplugin=org.apache.maven.plugins:maven-surefire-plugin
- Efektywny POM:
mvn help:effective-pom
- Uruchom klasę bez ręcznego ustawiania classpath (przed użyciem należy mvn compile):
mvn exec:java -Dexec.mainClass=com.kursjava.maven.HelloMaven
- Skompiluj / uruchom testy / uruchom testy integracyjne / wygeneruj jar / zainstaluj projekt:
mvn compile mvn test mvn verify mvn package mvn install
- Czyszczenie plików wygenerowanych podczas budowania projektu / łączenie komend:
mvn clean mvn clean compile
- Pomiń testy jednostkowe:
mvn install -Dmaven.test.skip=true
- Uruchamianie testów z konkretnej klasy:
mvn -Dtest=CheckFactorial test
- Wygeneruj projekt za pomocą generatora archetypów – tryb interaktywny / nieinteraktywny (znak ^ został użyty, aby komendę można było zapisać i uruchomić w kilku liniach w linii poleceń systemu Windows):
mvn archetype:generate mvn archetype:generate -B ^ -DarchetypeGroupId=org.apache.maven.archetypes ^ -DarchetypeArtifactId=maven-archetype-quickstart ^ -DgroupId=com.kursjava.maven ^ -DartifactId=wygenerowany-projekt ^ -Dversion=1.0-SNAPSHOT ^ -Dpackage=com.kursjava.maven
- Generowanie JARa z zależnościami przy użyciu pluginu Assembly:
mvn compile assembly:single
- Zależności projektu (bezpośrednie i przechodnie):
mvn dependency:tree