I would like to setup the TestNG in Maven so i take this chance to revise the Maven basics.
1. The project should have the following folder structure.
- testng-example (project root folder) - src - main - java - info/ykyuen/eureka <folders for package name> - Addition.java - resources - <any resource files like .properties> - pom.xml
2. Create the pom.xml.
<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/maven-v4_0_0.xsd" > <modelVersion>4.0.0</modelVersion> <groupId>info.ykyuen.eureka</groupId> <artifactId>testng-example</artifactId> <packaging>jar</packaging> <version>1.0</version> <name>testng-example</name> </project>
3. Create the src/main/java/info/ykyuen/eureka/Addition.java.
package info.ykyuen.eureka; public class Addition { public static void main(String[] args) { if (null == args || args.length != 2) { printUsage(); } else { try { int num1 = Integer.parseInt(args[0]); int num2 = Integer.parseInt(args[1]); int sum = num1 + num2; System.out.println("Sum = " + sum); } catch (NumberFormatException nfe) { printUsage(); } } } public static void printUsage() { System.out.println("*********"); System.out.println("* Usage *"); System.out.println("*********"); System.out.println("Please input 2 integers as arguments."); System.out.println("ex. java -cp testng-example-1.0.jar info.ykyuen.eureka.Addition <num1> <num2>"); System.out.println(""); System.out.println("Program exited."); System.out.println(""); } }
4. Build your project by the following command.
- mvn clean package
5. After the build, you could find a new folder called target where you .jar file is saved.
6. Try doing the addition.
- java -cp .\target\testng-example-1.0.jar info.ykyuen.eureka.Addition 3 5
Done =)