Uploaded on Apr 19, 2021
DevLabs Alliance Top 20 Maven Interview Questions
DevLabs Alliance Top 20 Maven Interview Questions
Top 20 Maven Interview Questions
By DevLabs Alliance
Visit us at:
www.devlabsalliance.com
Email :
[email protected]
Contact: +91 9717514555
Maven Interview Questions
1. What is Maven?
Maven is a build automation or a project management and comprehension tool. It is used
by a developer to compile application. It provides a complete build lifecycle framework to
the developers.
It is an automated build tool and the development team can easily automate the project’s
build infrastructure in almost no time as Maven uses a standard directory layout and a
default build lifecycle.
Maven is generally used for various purposes such as documentation, project
development, reporting and releases.
Maven Interview Questions
2. What is POM in Maven?
POM stands for Project Object Model. It is the basic unit of work in Maven. It is an XML file
that always resides in the base directory of the project as “pom.xml”.
It contains the information about the project and various configuration details that are
being used by Maven to build the project, such as Project dependencies, plugins, goals,
build profiles, Project version, developers, etc.
Maven Interview Questions
3. What are the differences between ANT and Maven?
ANT Maven
1. ANT is a toolbox. 1. Maven is a framework.
2. ANT is mainly a build tool 2. Maven is a project management tool.
3. ANT does not have formal conventions like 3. Maven has a convention to place source code,
project directory structure. compiled code, etc.
4. ANT is procedural, we have to provide 4. Maven is declarative, it has information on
information about what to do and when to do what to make and how to build in pom.xml
like compile, copy and compress through code.
5. ANT does not have a lifecycle, we have to add 5. Maven has a lifecycle.
sequence of tasks manually
6. ANT scripts are not reusable. 6. Maven plugins are reusable.
Maven Interview Questions
4. What is a Maven repository?
Maven repository is a place or directory where all the project jars, library jars plugins and
any other project dependencies or project specific artifacts are stored and that can be
easily used by Maven.
It works as a whole library of files that can be easily accessible and can be easily located in
our system without any issue and then it can be used by Maven.
Maven Interview Questions
5. How many repositories are there in Maven?
There are three types of repositories in Maven. These are as follows:
Local Repository: It is located in our local system. It is created when we run any Maven
commands for the first time. In Maven Local Repository we can find all our project’s
dependencies like library jars, plugin jars, etc.
Central Repository: Central Repository is provided by Maven community and contains a
large collection of commonly used libraries. When any dependency is not found in local
repository by Maven, it starts searching it in Central repository using URL-
https://repo1.maven.org/maven2/
Remote Repository: Remote Repository is developer’s own custom repository that
contains required libraries or other project jars. When Maven does not find a dependency
in both local and central repository, it stops the build process and give an error. To prevent
this situation, concept of Remote Repository was discovered by Maven.
Maven Interview Questions
6. What is Maven Dependency Search sequence?
When Maven build command is executed, it starts looking for libraries dependency in the following
sequence:
Step 1: It search the dependency in Local Repository. If dependency is found, it performs the further
processing else it moves to next step.
Step 2: It now starts searching it in Central Repository. If dependency is found in Central repository, it
is now downloaded to local repository for future reference and performs the further processing. If
dependency is not found and remote repositories are mentioned, then it moves to step 4.
Step 3: If a remote repository is not mentioned, then Maven stops processing and throws the error
that it is unable to find dependency.
Step 4: If remote repository is mentioned, it search dependency in remote repository. If the
dependency is found then it is downloaded to local repository for future reference and performs the
further processing , otherwise the processing is stopped by Maven and will throw an error that it is
unable to find dependency.
Local Central Remote
Repository Repository Repository
Maven Interview Questions
7. What are the dependency scope in Maven?
Dependency Scope usually includes all the dependencies as per the current stage of the
build.
The various dependency scope used in maven are as follows:
1. Compile: This is the default scope of Maven and it indicates which dependency is
available in the classpath of the project.
2. Runtime: This dependency indicates that dependency is not needed for compilation
but it is required during execution.
3. Provided: It indicates that dependency is provided by JDK or container or web server
at run-time.
4. System: This indicates that we have to provide the system path.
5. Test: It indicates that dependency is available only for the test compilation and
execution.
6. Import: It indicates that the specified POM should be replaced with the dependencies
in that POM’s section.
Maven Interview Questions
8. What is Maven artifact?
Maven artifact is a file, basically a JAR file, that gets deployed to a Maven repository. One
or more artifacts, such as a compiled JAR and a sources JAR are being produced by a
Maven build.
Each artifact has a group id (generally a reversed domain name), an artifact id (it’s just a
name) and a version string. The combination of these three uniquely identifies the artifact.
The project’s dependencies are being specified as artifacts.
Maven Interview Questions
9. What is Maven Build Lifecycle?
A build lifecycle is defined as a well defined sequences of phases that defines the order in
which the goals needs to be executed. Each phase represents a stage in the life cycle.
A default Maven Build Lifecycle consists of following sequence of phases:
a. prepare-resources
b. validate
c. compile
d. Test
e. package
f. install
g. deploy
Maven Interview Questions
10. What are the built-in Build Lifecycles in Maven?
Following are the built-in build lifecycles in Maven:
a. default: this phase handles the complete build and deployment of the project.
b. clean: this phase handles the cleaning of the project. It cleans up all the artifacts
created by prior builds.
c. site: this phase handles the generation of project site documentation.
Maven Interview Questions
11. Why Maven plugins are used?
Maven Plugins are used for performing following tasks:
a. Creating a jar file.
b. Creating a war file
c. Compiling code files
d. Unit testing of code
e. Documenting Projects
f. Reporting
Maven Interview Questions
12. What are the types of Maven Plugins?
There are 2 types of Maven Plugins:
a. Build Plugins: Build Plugins are executed during the build and are configured in the
element of pom.xml
b. Reporting Plugins: Reporting plugins are executed during the site generation and they
are configured in the element of the pom.xml
Maven Interview Questions
13. What are the aspects that Maven manages?
The various aspects that are being provided by Maven to developers to manage following:
a. Build
b. Dependencies
c. Documentation
d. Reporting
e. Releases
f. Source Code Management
g. Distribution
h. Mailing List
Maven Interview Questions
14. Explain the different phases of a Maven Build Lifecycle.
The different phases of a Maven Build Lifecycle are:
a. validate: It validates the project and verify that everything is correct and all necessary
information is available.
b. compile: It is used to compile the source code of the project.
c. test: This phase tests the compiled source code using a suitable unit testing framework.
These tests do not require the code to be packaged or deployed.
d. package: In this phase, compiled code is taken and packaged it in its distributable format,
such as a JAR.
e. integration-test: This phase process and deploy the package in an environment, if
necessary, where integration tests can be run.
f. verify: In this phase, it runs any checks to verify that package is valid and meeting quality
criteria.
g. install: This phase installs the package into the local repository. This is used as a
dependency in other projects locally.
h. deploy: This is done in an integration or release environment. It copies the final package
to remote repository and is then shared with other developers and projects.
Maven Interview Questions
15. What is Build Profile in Maven?
A Build Profile is defined as a set of configuration values, that can be used to set
or override default values of Maven build. We can customize build for different
environments such as Production vs Development environments using Build
profile.
Profiles are being specified in pom.xml using its active profile elements and are
triggered in various ways. They are used to modify the POM at build time and are
used to give parameters to different target environments.
For eg.: The path of the database server is provided for development, testing and
production environments.
Maven Interview Questions
16. What are the different types of Build Profiles?
There are majorly three types of Build Profiles:
1. Per Project: It is defined in the project POM file, i.e. pom.xml
2. Per user: It is defined in the Maven setting xml file (%USER_HOME
%/.m2/settings.xml)
3. Global: It is defined in Maven global settings xml file. (%M2_HOME
%/conf/settings.xml)
Maven Interview Questions
17. How can we activate profiles in Maven?
We can activate Maven Build Profiles in following ways:
1. Through Maven settings.
2. Explicitly using command console input.
3. Through OS Settings(for example, Windows family).
4. Based on environment variables like User or System variables.
5. Through present or missing files.
Maven Interview Questions
18. What is Snapshot in Maven?
Snapshot is defined as a special version that indicates a current development
copy. Unlike regular versions, Maven always checks for a new SNAPSHOT version
for every build in the remote repository.
A Snapshot version is the one that has not been released. Usually snapshot
dependencies should only exist during development and no released version i.e
no non-snapshot version should have a dependency on a snapshot version.
The snapshot is not necessarily more stable, it is just the latest build. The
snapshot precedes the actual release, it does not come after the actual release.
Maven Interview Questions
19. Mention the steps for installing Maven on Windows.
We can download and install Maven on Windows, Linux and MAC OS platforms.
We need to follow the below steps to install Maven on Windows:
● Firstly, download Maven and extract it.
● Add JAVA_HOME and MAVEN_HOME in the list of environment variables.
● Add the environment path in Maven variables.
● Verify Maven by checking its version.
Maven Interview Questions
20. What is the command that is used to check the version of Maven?
Maven version can be checked by using the below command:
mvn --version
Visit us at: www.devlabsalliance.com
Email: [email protected]
Contact: +91 9717514555
Comments