今天在使用程序方法调用TestNG的时候抛了异常,如下:
代码如下:
String xmlPath = System.getProperty("user.dir")+"\\testXml\\DefaultTest.xml";
TestNG test = new TestNG();
List<String> suites = new ArrayList<String>();
suites.add(xmlPath);
test.setTestSuites(suites);
test.run();
异常如下:
Exception in thread "main" java.lang.NoClassDefFoundError: org/testng/TestNG
at lty_test.com.lty.test.App.main(App.java:107)
Caused by: java.lang.ClassNotFoundException: org.testng.TestNG
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
查了版本,终于搞清楚,原来是pom里的问题,将
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.10</version>
<scope>test</scope>
</dependency>
改为
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.10</version>
</dependency>
即可。
查了好久,特此记录下以免再犯。