The LinkedIn Skill Assessments feature allows you to demonstrate your knowledge of the skills you’ve added on your profile. Job posters on LinkedIn can also add Skill Assessments as part of the job application process. This allows job posters to more efficiently and accurately verify the crucial skills a candidate should have for a role.
The topics in the Maven assessment include:
- Plugins
- Build Customization
- Dependencies
- Project Definition
- Maven Command Line
- General Knowledge
- Purpose and Process
- Maven Modules
- Repositories
- POM File
- Project Structure
- Build Lifecycles
Question Format
Multiple Choice
Language
English
Table of Contents
- 1 LinkedIn Maven Skill Assessment Answers
- 1.1 What element in the pom.xml file allows you to provide values that can be reused in other elements of the pom.xml?
- 1.2 If you wish to build and package your artifact using the Maven package goal but don’t want to execute the unit tests, which environment variable and value would you use?
- 1.3 When building a Maven EAR project and specifying the configuration of which projects to include, what is the element in the plugin configuration that contains Enterprise Java Bean projects?
- 1.4 The goal that is executed to generate and deploy a documentation website is _.
- 1.5 What does the mvn -version command do?
- 1.6 There are several properties available for use in a pom.xml file that refer to details of the project, such as groupId and version. What do all of these properties start with?
- 1.7 What directory structure contains the source code of your artifact?
- 1.8 Which command is used to run the clean lifecyle followed by verify, install, and package with Maven?
- 1.9 Which goal would you use with the Dependency plugin to determine which included dependencies are not used, as well as those you are using that you have not defined?
- 1.10 In a multimodule project, if you have a plugin bound to a phase in the parent, it will be bound to the same phase in the module. What strategy could you employ to prevent the plugin from executing in the module?
- 1.11 When building a web application with a WAR type project, which project directory should contain the style sheet, JavaScript, and other static file?
- 1.12 When performing a build, which Maven plugin will allow you to set the specific version of the artifact to be built without manual modifying the pom.xml file?
- 1.13 When building a Maven Archetype, what is the filepath and file of the archetype descriptor that specifies how to lay out the prototype files?
- 1.14 What is a valid packaging type for a Maven project?
- 1.15 When two dependencies of your Maven project introduce the same transitive dependency with different versions, which one(s) will be included in the dependency list for your project?
- 1.16 Many organizations set up local mirrors to the Maven central repository. In order to leverage your company’s Maven repository as a proxy for the Maven central repository, which element should you put into the settings.xml file?
- 1.17 Which Maven plugin would you leverage to specify the version of the compiler to target as well as the source level of the language?
- 1.18 If your machine is behind a proxy, where should you specify the proxy server settings in order for Maven to access remote resources?
- 1.19 What environment variable can you alter to increase the memory Maven uses?
- 1.20 How can you use Maven to run unit tests in parallel?
- 1.21 What will the mvn dependency:tree command do?
- 1.22 How do you run a single unit test in Maven?
- 1.23 How can Maven profiles be triggered?
- 1.24 Why will an mvn install command not deploy any artifacts to a remote repository?
- 1.25 Suppose you want to include a properties file in the JAR generated by your Maven build. What directory should you put it in?
- 1.26 Which structure in a settings.xml file allows for flexing properties based on some value for the runtime of Maven?
- 1.27 What does it mean if the scope of a dependency is runtime?
- 1.28 If you want to utilitze a locally developed JAR file in another project and that JAR file has not been deployed to either the Maven central repository or your own locally sourced mirror repository, what Maven goal do you need to execute on the locally developed JAR project?
- 1.29 What is the default packaging type for a Maven project build artifact?
- 1.30 What does the following command do?
- 1.31 When defining a dependency that is included with the runtime container, what scope do you use in the pom.xml?
- 1.32 What argument do you pass to Maven in order to update SNAPSHOT from the remote repository?
- 1.33 When performing a release using the Maven release plugin, which environment variable for batch mode is used to define the stamp placed in SCM to indicate the state of the artifact for the actual release?
- 1.34 These are two general uses of plugins. The first is build and the second is __
- 1.35 What does the mvn clean command do?
- 1.36 If you want to utilize a locally develop JAR file in another project and that JAR file has not been deployed to either the Maven central repository or your own locally sourced mirror repository, what Maven goal do you need to execute on the locally developed JAR project?
- 1.37 Bellow is a definition of the Maven JAR Plugin, where the main class is set to com.palmer.bethan.App. What is the effect of this?
- 1.38 Suppose you are packaging a Maven project and see the following error “[WARNING] Using platform encoding (CP1252 actually) to copy filtered resources, i.e. build platform dependent!” What do you add to your POM file to set platform encoding to ensure your build is not platform dependet ?
- 1.39 Why might you not want to include groupId and version elements in child POM files?
- 1.40 The settings.xml file that provides the user-specific settings for Maven is contained in which directory by default?
- 1.41 Suppose you are using Maven in a corporate environment and, to save bandwidth, you want to prevent the need for large numbers of developers to download the same dependency from the internet. What do you do to limit this?
- 1.42 In multimodule projects, what do child POMs inherit from the parent POM?
- 1.43 Below is a report generated for a multimodule project with the Checkstyle Plugin. Why might the highlighted links to the two child projects not work?
- 1.44 Which build plugin allows you to create a “fat” JAR file that contains all of the dependencies in the final JAR file?
- 1.45 What is the default scope for Maven dependencies?
- 1.46 What is one of the advantages of using properties in Maven?
- 1.47 What are the phases of the clean lifecycle?
- 1.48 A compile-time dependency of a dependency for your project is often called a __ dependency.
- 1.49 For what purpose can plugins use the validate phase in the default lifecycle?
- 1.50 How do you check for unused dependencies in your project?
- 1.51 Why is it best practice to avoid overriding the default directory structure?
- 1.52 What is the main purpose of the install phase?
- 1.53 How do you skip the tests when running a mvn package command?
- 1.54 Below is a section of a settings.xml file. How can you use the path to the app home in your POM file?
- 1.55 What is the default value of the warSourceDirectory configuration property of the Maven WAR Plugin?
- 1.56 When building a Maven Archetype, where do you put your prototype files?
- 1.57 The primary purpose of Apache Maven is to provide uniform, easy, and standardized _.
- 1.58 Below is the definition of a mirror in settings.xml. What does the element * tell Maven to do?
- 1.59 How do you generate a site for a project with Maven?
- 1.60 What is the default location of the local Maven repository?
- 1.61 A phase is a step in __.
- 1.62 What is the Maven central repository?
- 1.63 What are the artifacts that Apache Maven uses to perform its build operations?
- 1.64 Which plugin is used to copy, filter, include, and exclude non-Java files into your final project?
- 1.65 What is a module in a Maven project?
- 1.66 What does the mvn –version command do?
- 1.67 When building a Maven project, where are Maven dependencies stored?
- 1.68 Why is it best practice not to release SNAPSHOT versions of Maven artifacts to production?
- 1.69 Why do you use Maven Wrapper on a project shared with a large team of developers?
- 1.70 This POM file contains an XML validation error. What is the cause of the error?
- 1.71 Why might you not want to include groupId and version elements in child POM files?
- 1.72 How many times is compiler:compile called when executing mvn clean compile test package?
LinkedIn Maven Skill Assessment Answers
What element in the pom.xml file allows you to provide values that can be reused in other elements of the pom.xml?
- Plugins
- Build
- Properties
- Parent
If you wish to build and package your artifact using the Maven package goal but don’t want to execute the unit tests, which environment variable and value would you use?
- maven.test.ignore=TRUE
- maven.test.run=FALSE
- maven.test.skip=TRUE
- maven.verify.execute=FALSE
When building a Maven EAR project and specifying the configuration of which projects to include, what is the element in the plugin configuration that contains Enterprise Java Bean projects?
- modules/webModule
- modules/ejbModule
- modules/enterpriseModules
- modules/services
The goal that is executed to generate and deploy a documentation website is _.
- deliver
- site
- doc
- deploy
What does the mvn -version command do?
- It builds your Maven project.
- It installs Maven on your computer.
- It updates Maven to the latest version.
- It print out your installed version of Maven.
There are several properties available for use in a pom.xml file that refer to details of the project, such as groupId and version. What do all of these properties start with?
- pom
- maven
- jar
- project
What directory structure contains the source code of your artifact?
- src/code
- src/test/java
- src/main/java
- src/main/resources
Which command is used to run the clean lifecyle followed by verify, install, and package with Maven?
- mvn clean istall package
- mvn package
- mvn clean install
- Option 4
Which goal would you use with the Dependency plugin to determine which included dependencies are not used, as well as those you are using that you have not defined?
- dependency:tree
- dependency:properties
- dependency:evaluate
- dependency:analyze
In a multimodule project, if you have a plugin bound to a phase in the parent, it will be bound to the same phase in the module. What strategy could you employ to prevent the plugin from executing in the module?
- In the excluded element of the build section of the POM, list the plugin you do not want to run.
- Set the phase in the module to none.
- Set a value in the configuration of the plugin in the module to be excluded like this: TRUE.
- Do not specify the plugin in the module.
When building a web application with a WAR type project, which project directory should contain the style sheet, JavaScript, and other static file?
- src/main/static
- src/main/web
- src/main/resources
- src/main/webapp
When performing a build, which Maven plugin will allow you to set the specific version of the artifact to be built without manual modifying the pom.xml file?
- Compiler
- Surefire
- Versions
- Javadoc
When building a Maven Archetype, what is the filepath and file of the archetype descriptor that specifies how to lay out the prototype files?
- src/main/template/descriptor.xml
- src/main/resources/META-INF/maven/archetype-descriptor.xml
- src/main/archetype/descriptor.xml
- src/main/resources/META-INF/maven/maven-archetype.xml
What is a valid packaging type for a Maven project?
- WAR
- all of these answers
- POM
- EAR
When two dependencies of your Maven project introduce the same transitive dependency with different versions, which one(s) will be included in the dependency list for your project?
- the dependency with the higher version
- the transitive dependency that comes from the dependency listed first in the pom.xml file
- the transitive dependency that comes from the dependency listed last in the pom.xml file
- the transitive dependency version of the artifact that is closest to your project
Many organizations set up local mirrors to the Maven central repository. In order to leverage your company’s Maven repository as a proxy for the Maven central repository, which element should you put into the settings.xml file?
- Replacements
- Proxies
- Mirrors
- LocalRepositories
Which Maven plugin would you leverage to specify the version of the compiler to target as well as the source level of the language?
- Versions
- Surefire
- Target
- Compiler
If your machine is behind a proxy, where should you specify the proxy server settings in order for Maven to access remote resources?
- .m2/proxy.txt
- pom.xml
- proxy.xml
- settings.xml
What environment variable can you alter to increase the memory Maven uses?
- MAVEN_OPTS
- M2_HOME
- MAVEN_MEMORY
- PATH
How can you use Maven to run unit tests in parallel?
- It is not possible to do this.
- Implement the JUnit dependency and add a configuration that sets the parallel element to true.
- Specify the Maven Surefire Plugin and add a configuration that sets the parallel element to true.
- Move each test suite into a separate submodule.
What will the mvn dependency:tree command do?
- Verify the dependencies defined in the POM file.
- Print out a report of your project’s dependencies in a tree format.
- Download all the transitive dependencies.
- Prune unused dependencies from your dependency tree.
How do you run a single unit test in Maven?
- Maven runs only a single unit test by default.
- Use the -Dtest= flag and pass in the name of the test.
- Use a plugin that can specify the test you want to run.
- It is not possible to do this.
How can Maven profiles be triggered?
- by explicitly calling the profiles using the -P flag
- based on environment variables
- all of these answers
- through Maven settings
Why will an mvn install command not deploy any artifacts to a remote repository?
- The name of the artifact must also be specified in the command.
- The name of the remote repository must also be specified in the command.
- Deploying artifacts to a remote repository must be done manually.
- The deploy phase of the default Maven lifecycle comes after the install phase.
Suppose you want to include a properties file in the JAR generated by your Maven build. What directory should you put it in?
- ${basedir}/src/main/resources
- ${basedir}/src/main/java/resources
- ${basedir}/resources
- ${basedir}/src/main/properties
Which structure in a settings.xml file allows for flexing properties based on some value for the runtime of Maven?
- Environment
- Properties
- Switch
- Profiles
What does it mean if the scope of a dependency is runtime?
- The dependency is not required to compile the project, but is needed at runtime.
- The dependency is needed at compile time and at runtime, and must be packaged for distribution.
- The dependency is needed at compile time and at runtime, but does NOT need to be packaged for distribution.
- The dependency is required for compilation.
If you want to utilitze a locally developed JAR file in another project and that JAR file has not been deployed to either the Maven central repository or your own locally sourced mirror repository, what Maven goal do you need to execute on the locally developed JAR project?
- package
- install
- compile
- test
What is the default packaging type for a Maven project build artifact?
- WAR
- JAR
- EAR
- POM
What does the following command do?
mvn archetype:generate \
-DgroupID=sample-maven-project \
-DartifactID=com.palmer.bethan.sample \
-Dversion=1.0.0 \
-DinteractiveMode=false
- It does nothing since no archetype has been specified
- It generates a new Maven archetype
- It generates a new Maven projet using the default Maven archetype
- It cleans and installs the sample-maven-project project
When defining a dependency that is included with the runtime container, what scope do you use in the pom.xml?
- provided
- compile
- execution
- runtime
What argument do you pass to Maven in order to update SNAPSHOT from the remote repository?
- -U
- -J
- -X
- -S
When performing a release using the Maven release plugin, which environment variable for batch mode is used to define the stamp placed in SCM to indicate the state of the artifact for the actual release?
- tag
- scmMark
- developmentVersion
- releaseVersion
These are two general uses of plugins. The first is build and the second is __
- reporting
- servers
- dependencies
- distribution management
What does the mvn clean command do?
- It removes the target directory
- It updates the version of the plugins defined in the POM file.
- It removes unused dependencies in your project
- It builds your project
If you want to utilize a locally develop JAR file in another project and that JAR file has not been deployed to either the Maven central repository or your own locally sourced mirror repository, what Maven goal do you need to execute on the locally developed JAR project?
- install
- test
- compile
- package
Bellow is a definition of the Maven JAR Plugin, where the main class is set to com.palmer.bethan.App. What is the effect of this?
<configuration>
<archive>
<mainfest>
<addClasspath>true</addClasspath>
<mainclass>com.palmer.bethan.App</mainClass>
</mainfest>
</archive>
</configuration>
- Maven will generate javadocs for the App class.
- Maven will generate an executable JAR, which can be used to run the App class.
- Maven will include only the App class when it compiles the source code.
- Maven will add an empty main method to the App class.
Suppose you are packaging a Maven project and see the following error “[WARNING] Using platform encoding (CP1252 actually) to copy filtered resources, i.e. build platform dependent!” What do you add to your POM file to set platform encoding to ensure your build is not platform dependet ?
- <project.build.resources>
- <maven.compiler.source>
- <project.build.sourceEncoding>
- <project.compiler.encoding>
Why might you not want to include groupId and version elements in child POM files?
- all of these answers
- dependencies
- version
- groupId
The settings.xml file that provides the user-specific settings for Maven is contained in which directory by default?
- ${maven.home}/${user.name}/settings.xml
- ${user.home}/.m2/settings.xml
- ${maven.home}/conf/settings.xml
- ${user.home}/maven/settings.xml
Suppose you are using Maven in a corporate environment and, to save bandwidth, you want to prevent the need for large numbers of developers to download the same dependency from the internet. What do you do to limit this?
- Create an internal corporate repository to store copies of the necessary artifacts.
- It is not possible to do this.
- When defining the dependency, set the scope to provided.
- Each developer should define the dependency in the POM file in the local copy of the project.
In multimodule projects, what do child POMs inherit from the parent POM?
- all of these answers
- dependencies
- groupId
- version
Below is a report generated for a multimodule project with the Checkstyle Plugin. Why might the highlighted links to the two child projects not work?
- The Checkstyle Plugin does not work on child modules.
- Each Checkstyle report is in the target/site folder of the respective module.
- All links in Checkstyle reports must be specified in the plugin definition.
- Checkstyle reports for child modules have to be behind a firewall.
Which build plugin allows you to create a “fat” JAR file that contains all of the dependencies in the final JAR file?
- Fatjar
- Shade
- Dependency
- Package
What is the default scope for Maven dependencies?
- Test
- Compile
- Runtime
- Build
What is one of the advantages of using properties in Maven?
- Properties provide a template for you to build Maven projects with a certain structure.
- Properties allow you to inherit values from the parent POM in the child POM.
- You can avoid hard-coding values in multiple places.
- Properties speed up your Maven build.
What are the phases of the clean lifecycle?
- pre-clean,clean and post-clean
- Compile, clean and install
- clean and install
- validate, clean and deploy
A compile-time dependency of a dependency for your project is often called a __ dependency.
- Transitive
- runtime
- provided
- test
For what purpose can plugins use the validate phase in the default lifecycle?
- to check the parent POM file defines all of the child POM files
- to carry out checks before building the project
- to ensure plugins defined in the POM file are in the correct order
- to check the project structure is correct after building a project
How do you check for unused dependencies in your project?
- Run mvn clean and look at which plugins are not mentioned in the output.
- You will need to do this manually.
- Include the Maven dependency plugin in your POM file and run the unpack goal.
- Run the analyze goal of the dependency plugin.
Why is it best practice to avoid overriding the default directory structure?
- Keeping the default structure reduces onboarding time, because developers recognize it.
- Overriding the default structure is very complex.
- Overriding the default structure will cause Maven to take longer to compile your code.
- all of these answers
What is the main purpose of the install phase?
- to compile the source code of the project
- to install all of the remote dependencies
- to deploy the final project artifacts into a remote Maven repository
- to copy the final project artifacts into the local Maven repository
How do you skip the tests when running a mvn package command?
- Use -Dtest=skip
- Use -DskipTests=true
- Use -Dtests=pass
- Use a plugin that can be configured to skip tests
Below is a section of a settings.xml file. How can you use the path to the app home in your POM file?
<profiles>
<profile>
<id>set=app-home</id>
<properties>maven-people-plugin</artifactId>
<application-home>/path/to/application</application-home>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfiles>set-app-home</activeProfile>
</activeProfiles>
- ${activeProfile}
- ${application-home}
- ${set-app-home}
- ${/path/to/application}
What is the default value of the warSourceDirectory configuration property of the Maven WAR Plugin?
- /src/main/webapp
- /src/main/war
- /src/main/WEB-INF
- /src/web
When building a Maven Archetype, where do you put your prototype files?
- src/main/template
- src/main/archetype
- src/main/resources/archetype-resources
- src/main/java
The primary purpose of Apache Maven is to provide uniform, easy, and standardized _.
- versioning
- project structure
- source code style
- builds
Below is the definition of a mirror in settings.xml. What does the element * tell Maven to do?
<mirro>
<id>internal-repo</id>
<url>http://repo.mycompany.com/proxy</url>
<mirrorOf>*</mirroOf>
</mirror>
- Use a sigle repository by having it mirror all repository requests
- Mirror all repositories except for http://repomycompany.com/proxy.
- Mirro any repositories with * in the name.
- Use a mirror repository for every repository defined in the POM file.
How do you generate a site for a project with Maven?
- Use the mvn site command.
- Use the mvn install command.
- This is not possible.
- Use the mvn package command.
What is the default location of the local Maven repository?
- USER_HOME/.m2/repository
- USER_HOME/.m2/local
- USER_HOME/maven/repository
- /repo
A phase is a step in __.
- the complie goal
- the development process
- the build lifecycle
- the POM file
What is the Maven central repository?
- a local repository created by Maven in your local file system
- a repository in the middle of your Maven project
- an online repository for open-source binaries
- a repository that you must download to build a Maven project
What are the artifacts that Apache Maven uses to perform its build operations?
- ant files
- properties
- dependencies
- plugins
Which plugin is used to copy, filter, include, and exclude non-Java files into your final project?
- Build
- Files
- Copy
- Resources
What is a module in a Maven project?
- a dependency
- a subproject, or child project
- a Java package
- a plugin
What does the mvn –version command do?
- It updates Maven to the latest version.
- It prints out your installed version of Maven.
- It builds your Maven project.
- It installs Maven on your computer.
When building a Maven project, where are Maven dependencies stored?
- in the target directory
- in your local repository
- in the POM file
- online in the Maven central repository
Why is it best practice not to release SNAPSHOT versions of Maven artifacts to production?
- A release marked with SNAPSHOT indicates that not all of the tests have passed.
- A SNAPSHOT can be hard to reproduce, making it difficult to determine the cause of an issue.
- SNAPSHOT releases do not contain any dependencies.
- A release marked with SNAPSHOT may contain sensitive security information.
- all of these answers
- All developers will be using the same Maven version, providing stability.
- The dependencies for the project will be downloaded only once for all developers, saving bandwidth.
- Maven Wrapper checks dependencies for vulnerabilites, increasing security.
This POM file contains an XML validation error. What is the cause of the error?
- JUnit is not a valid dependency of a Maven project.
- the <dependency> elements should be inside <dependencies> elements.
- The <dependency> element is not a valid in a POM file.
- The <dependency> elements should be at the bottom of the POM file.
Why might you not want to include groupId and version elements in child POM files?
- If you include these elements, an error will be thrown when you try to build the project.
- These elements are inherited from the parent POM file, and do not need to be repeated.
- Child POM files should include definitions of only dependencies and plugins.
- The values in the parent POM will be overridden by what is defined in the child POM.
How many times is compiler:compile called when executing mvn clean compile test package?
- one
- two
- none
- three