执行mvn test命令后报:Cannot find class in classpath
生活随笔
收集整理的這篇文章主要介紹了
执行mvn test命令后报:Cannot find class in classpath
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述:
[ERROR] There are test failures.Please refer to /Users/mac/Documents/GitHub/ApiTestV1/target/surefire-reports for the individual test results. Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream. There was an error in the forked processCannot find class in classpath: lemon.testCases.TestFile org.apache.maven.surefire.booter.SurefireBooterForkException: There was an error in the forked processCannot find class in classpath: lemon.testCases.TestFileat org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:656)at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:282)at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:245)at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1183)at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:1011)at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:857)at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)at org.apache.maven.cli.MavenCli.execute(MavenCli.java:956)at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)at org.apache.maven.cli.MavenCli.main(MavenCli.java:192)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 5.172 s [INFO] Finished at: 2021-07-07T22:22:08+08:00 [INFO] ------------------------------------------------------------------------關鍵的錯誤信息:
Cannot find class in classpath: lemon.testCases.TestFile org.apache.maven.surefire.booter.SurefireBooterForkException: There was an error in the forked process問題分析:
在類路徑中找不到這個類lemon.testCases.TestFile,琢磨著要么是真沒這個類,要么是路徑問題導致找不到。
單獨運行各個類的用例都沒問題,單獨運行Testng.xml就報錯
org.testng.TestNGException: Cannot find class in classpath: lemon.testCases.TestFileat org.testng.xml.XmlClass.loadClass(XmlClass.java:75)at org.testng.xml.XmlClass.init(XmlClass.java:67)at org.testng.xml.XmlClass.<init>(XmlClass.java:54)問題就確定了,就是Testng.xml文件有問題,仔細看才發現,有個類名確實不存在。
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name="測試套件" > <test name="測試"><classes><class name="lemon.testCases.TestFile"/></classes> </test> </suite>解決方法:
刪除不存在的類名,換成存在的類名
總結
以上是生活随笔為你收集整理的执行mvn test命令后报:Cannot find class in classpath的全部內容,希望文章能夠幫你解決所遇到的問題。