mvn -X
mvn -v
mvn clean package
mvn clean install
mvn clean install -DskipTests=true
mvn -Dtest=XFileTest#XTest test
<profiles> <profile> <id>dev</id> <build> ... </build> </profile> </profiles>
mvn -Drun.profiles=dev
<profiles> <profile> <id>dev</id> <build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.1</version> <configuration> <url>http://localhost:50081/manager/text</url> <!-- Configured in mvn settings.xml --> <server>devtomcat</server> <path>/appaadmin##${project.version}</path> </configuration> </plugin> </plugins> </build> </profile> </profiles>
mvn -s X/settings.xml
<build> <finalName>appa-admin</finalName> ... </build>
<scope>compile</scope> - zakres domyślny, artefakt jest dostępny wszędzie, także w fazie kompilacji <scope>provided</scope> - artefakt jest dostępny wszędzie poza ostateczną wersją deployowaną na serwer <scope>runtime</scope> - artefakt jest dostępny wszędzie - poza fazą kompilacji oraz poza ostateczną wersją deployowaną na serwer <scope>test</scope> - artefakt jest dostępny jedynie w trakcie kompilacji testów oraz w fazie uruchamiania <scope>system</scope> - artefakt jest dostępny podobnie jak provided, a udostępniamy go przez podanie ścieżki w systemie plików <scope>import</scope> - artefakt współpracuje z sekcjami dependencyManagement
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.0</version>
<scope>provided</scope>
</dependency>
...
</dependencies>
<modelVersion>4.0.0</modelVersion>
<groupId>com.javappa</groupId>
<artifactId>appaadmin</artifactId>
<version>1.0.0</version>
<name>AppaAdmin</name>
<description>AppaAdmin</description>
<packaging>war</packaging>
Nazwa taga | Znaczenie |
---|---|
<packaging>pom</packaging> |
projekt nie posiada kodu i zarządza jedynie zależnościami - stosowany przy architekturze parent-child wielu projektów składających się na jedną całość |
<packaging>jar</packaging> |
domyślny typ paczkowania tworzący bibliotekę, którą możemy podpiąć jako zależność do innego artefaktu |
<packaging>maven-plugin</packaging> |
tworzy paczkę z pluginem Mavena |
<packaging>EJB</packaging> |
tworzy paczkę w postaci gotowego komponentu ejb |
<packaging>war</packaging> |
tworzy paczkę będącą aplikacją webową, która może zostać zdeployowana w kontenerze aplikacji web (np. Tomcat), albo na serwerze aplikacyjnym; używany przez aplikację StartAPPa |
<packaging>ear</packaging> |
tworzy aplikację typu Enterprise, która może zostać zdeployowana na serwerze aplikacyjnym |
SNAPSHOT - postfix używany w trakcie rozwoju (developmentu aplikacji) - nie stosujemy go wypuszczając kod na produkcję M1 - milestone candidate (wersja przełomowa) RC1 - release candidate (wersja kandydująca do wydania) RELEASE - release (wersja wydana) Final - release (ostateczna wersja produkcyjna)