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 install
mvn -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:repackage
3. 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