- Maven - Discussion
- Maven - Useful Resources
- Maven - Quick Guide
- Maven - Questions and Answers
- Maven - IntelliJ IDEA
- Maven - NetBeans
- Maven - Eclipse IDE
- Maven - Web Application
- Maven - Deployment Automation
- Maven - Manage Dependencies
- Maven - Build Automation
- Maven - Snapshots
- Maven - Project Templates
- Maven - Project Documents
- Maven - External Dependencies
- Maven - Build & Test Project
- Maven - Creating Project
- Maven - Plug-ins
- Maven - Repositories
- Maven - Build Profiles
- Maven - Build Life Cycle
- Maven - POM
- Maven - Environment Setup
- Maven - Overview
- Maven - Home
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Maven - Build & Test Project
What we learnt in Project Creation chapter is how to create a Java apppcation using Maven. Now we ll see how to build and test the apppcation.
Go to C:/MVN directory where you ve created your java apppcation. Open consumerBanking folder. You will see the POM.xml file with the following contents. Update it to reflect the current java version.
<project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.companyname.projectgroup</groupId> <artifactId>project</artifactId> <version>1.0</version> <properties> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> </dependency> </dependencies> </project>
Here you can see, Maven already added Junit as test framework. By default, Maven adds a source file App.java and a test file AppTest.java in its default directory structure, as discussed in the previous chapter.
Let s open the command console, go the C:MVNconsumerBanking directory and execute the following mvn command.
C:MVNconsumerBanking>mvn clean package
Maven will start building the project.
C:MVNconsumerBanking>mvn clean package [INFO] Scanning for projects... [INFO] [INFO] ----------------< com.companyname.bank:consumerBanking >---------------- [INFO] Building consumerBanking 1.0-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ consumerBanking --- [INFO] Deleting C:MVNconsumerBanking arget [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ consumerBanking --- [WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent! [INFO] skip non existing resourceDirectory C:MVNconsumerBankingsrcmain esources [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ consumerBanking --- [INFO] Changes detected - recompipng the module! [WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent! [INFO] Compipng 1 source file to C:MVNconsumerBanking argetclasses [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ consumerBanking --- [WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent! [INFO] skip non existing resourceDirectory C:MVNconsumerBankingsrc est esources [INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ consumerBanking --- [INFO] Changes detected - recompipng the module! [WARNING] File encoding has not been set, using platform encoding Cp1252, i.e. build is platform dependent! [INFO] Compipng 1 source file to C:MVNconsumerBanking arget est-classes [INFO] [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ consumerBanking --- [INFO] Surefire report directory: C:MVNconsumerBanking argetsurefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- Running com.companyname.bank.AppTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 sec Results : Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ consumerBanking --- [INFO] Building jar: C:MVNconsumerBanking argetconsumerBanking-1.0-SNAPSHOT.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 4.663 s [INFO] Finished at: 2021-12-13T17:34:27+05:30 [INFO] ------------------------------------------------------------------------ C:MVNconsumerBanking>
You ve built your project and created final jar file, following are the key learning concepts −
We give maven two goals, first to clean the target directory (clean) and then package the project build output as jar (package).
Packaged jar is available in consumerBanking arget folder as consumerBanking-1.0-SNAPSHOT.jar.
Test reports are available in consumerBanking argetsurefire-reports folder.
Maven compiles the source code file(s) and then tests the source code file(s).
Then Maven runs the test cases.
Finally, Maven creates the package.
Now open the command console, go the C:MVNconsumerBanking argetclasses directory and execute the following java command.
>java com.companyname.bank.App
You will see the result as follows −
Hello World!
Adding Java Source Files
Let s see how we can add additional Java files in our project. Open C:MVNconsumerBankingsrcmainjavacomcompanynameank folder, create Util class in it as Util.java.
package com.companyname.bank; pubpc class Util { pubpc static void printMessage(String message){ System.out.println(message); } }
Update the App class to use Util class.
package com.companyname.bank; /** * Hello world! * */ pubpc class App { pubpc static void main( String[] args ){ Util.printMessage("Hello World!"); } }
Now open the command console, go the C:MVNconsumerBanking directory and execute the following mvn command.
>mvn clean compile
After Maven build is successful, go to the C:MVNconsumerBanking argetclasses directory and execute the following java command.
>java -cp com.companyname.bank.App
You will see the result as follows −
Hello World!Advertisements