English 中文(简体)
Maven - Build & Test Project
  • 时间:2024-11-05

Maven - Build & Test Project


Previous Page Next Page  

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