Sources: maven.apache
Example:
pom.xml (Project Object Model.xml file)
#Create project using mvn template.
mvn archetype:generate -DgroupId=org_name -DartifactId=common-abstract -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false#Pass run-time arguments :
mvn spring-boot:run -Dspring-boot.run.arguments="20180414"#Run in verbose mode :
mvn spring-boot:run -Dspring-boot.run.arguments="20180414" -X#Run project
mvn clean install#Package into specified packaging(jar/war) within pom.xml. Supply any required argument using -D, if mvn is allowed to perform tests.
mvn clean package -Dspring.config.location=<APPLICATION_PROPERTY_FILE_PATH> #List all dependencies
mvn dependency:tree#Skip tests during build
mvn -DskipTests=true clean installmvn -Dmaven.test.skip=true clean install#How to package all dependency for spring-boot. Sources: stackoverflow
1. Use spring-boot-maven-plugin. Add below lines to project tag within pom.xml
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> <configuration> <classifier>spring-boot</classifier> <mainClass>com.<ORG-NAME>.app.Application</mainClass> </configuration> </execution> </executions> </plugin> </plugins> </build>2. Build jar using :
mvn -pl <ARTIFACT_ID> clean package spring-boot:repackage3. Run jar:
java -jar <ARTIFACT_ID>-<VERSION>-spring-boot.jar#Create sub-projects(library/module(s))
1.make sure, package-type of parent is set to 'pom'. instead of jar, war etc.
2.get into parent project folder & create project(manually or using mvn command(reccomended as it updates pom.xml in parent as well) )
#Work(compile, release, install) on specific module(sub-project or library) using -pl.
mvn -pl <MODULE_NAME> clean install#Using maven plugins: Sources- maven-plugins :
<project> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.2.1</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.<ORG_NAME>.<MAIN_CLASS_NAME></mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build></project>mvn javadoc:javadoc