Hi,
I'm quite new to automation tools and technologies. I'm trying run cucumber project from maven generated jar file and when run the jar I'm getting below error message.
If anybody come across the same and have some inputs, that would be of great help.
Error message:
C:\Users\sadakarp\.m2\repository\Jaspersoft_Automation\Jaspersoft_Automation\0.0.1-SNAPSHOT>java -jar Jaspersoft_Automation-0.0.1-SNAPSHOT.jar
Exception in thread "main" java.lang.NoClassDefFoundError: cucumber/api/cli/Main
at com.sadakar.cucumber.runner.CucumberRunner.main(CucumberRunner.java:41)
Caused by: java.lang.ClassNotFoundException: cucumber.api.cli.Main
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
BasePage
package com.sadakar.selenium.common;
import org.openqa.selenium.WebDriver;
public class BasePage {
public static WebDriver driver;
}
CucumberRunner
package com.sadakar.cucumber.runner;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import cucumber.api.cli.Main;
@RunWith(Cucumber.class)
@CucumberOptions
(
features="classpath:features",
//tags="@ValidLogin,@InvalidLogin",
tags="@ValidLogin",
glue={"com.sadakar.cucumber.stepdefinitions/","com.sadakar.cucumber.common"},
plugin = { "pretty", "json:target/cucumber-reports/Cucumber.json",
"junit:target/cucumber-reports/Cucumber.xml",
"html:target/cucumber-reports"},
monochrome = true
)
public class CucumberRunner {
public static void main(String args[]) throws Throwable{
try {
String[] arguments = {
"--features","classpath:features",
"--tags","@ValidLogin",
"--glue","com.sadakar.cucumber.stepdefinitions/",
"--glue","com.sadakar.cucumber.common",
"--plugin","pretty",
"--plugin","json:target/cucumber-reports/Cucumber.json",
"--plugin", "html:target/cucumber-reports"
};
cucumber.api.cli.Main.main(arguments);
}
catch(Exception e) {
System.out.println("Main method exception");
}
}
}
pom.xml
<modelVersion>4.0.0</modelVersion>
<groupId>Jaspersoft_Automation</groupId>
<artifactId>Jaspersoft_Automation</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Jaspersoft_Automation</name>
<description>Jaspersoft_Automation</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- cucumber-java -->
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>1.2.5</version>
</dependency>
<!-- cucumber-junit -->
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-core</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-picocontainer</artifactId>
<version>1.2.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.sadakar.cucumber.runner.CucumberRunner</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>