【TestNG】使用程序调用TestNG时报java.lang.NoClassDefFoundError: org/testng/TestNG

今天在使用程序方法调用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>

即可。
查了好久,特此记录下以免再犯。

猜你喜欢

转载自blog.csdn.net/df0128/article/details/84589836