无法为黄瓜项目运行jar:线程“ main”中的异常java.lang.NoClassDefFoundError:cumcum / api / cli / Main

时间:2020-03-30 10:28:16

标签: cucumber-java

我是自动化框架的新手,正在尝试从jar文件中运行Cucumber项目。对于那个在Eclipse中的行家,“安装”生成了罐子,当我尝试执行获取cucumber / api / cli / Main错误时。

任何帮助将不胜感激。

C:\ Users \ sadakarp \ eclipse-workspace \ Jaspersoft Automation \ target> java -jar Jaspersoft_Automation-0.0.1-SNAPSHOT.jar

线程主java.lang.NoClassDefFoundError中的异常:cumcum / api / cli / Main 在com.sadakar.selenium.common.BasePage.main(BasePage.java:46)

原因: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)

BasePage.java

package com.sadakar.selenium.common;

导入org.junit.runner.JUnitCore;

导入org.openqa.selenium.WebDriver;

公共类BasePage {

public  static WebDriver driver;    

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");
    }

} }

CucumberRunner.java

package com.sadakar.cucumber.runner;

导入org.junit.runner.RunWith;

导入cumul.api.CucumberOptions;

导入cumul.api.junit.Cucumber;

@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

) 公共类CucumberRunner {

}

pom.xml依赖

    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>1.2.5</version>
    </dependency>


    <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>


    Plugins used

             <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.selenium.common.BasePage</mainClass>

                    </manifest>
                </archive>
            </configuration>
        </plugin>

0 个答案:

没有答案