[英]Java class file failed to load testng class when run through command line
我有這段代碼,它從main方法中使用XML文件調用testNG
。 我試圖通過以下命令從命令行調用此類文件:
java -cp My_Automation.jar com.mycomp.test.sanity.InvokeTestNGTest
但是,此操作失敗,並顯示以下消息:
Exception in thread "main" java.lang.NoClassDefFoundError: org/testng/ITestListener
我嘗試通過Eclipse運行此程序,該程序運行良好,但從命令行界面調用時失敗。 所有測試JAR都放置在類路徑中。 我不明白這個差異。
這是我的代碼:
package com.mycomp.test.sanity;
import java.util.ArrayList;
import java.util.List;
import org.testng.TestNG;
import org.testng.TestListenerAdapter;
public class InvokeTestNGTest {
public static void main(String[] args) {
List<String> xmlFileList = new ArrayList();
xmlFileList.add("ILIO_testNG.xml");
TestListenerAdapter tla = new TestListenerAdapter();
TestNG testng = new TestNG();
testng.setTestSuites(xmlFileList);
testng.addListener(tla);
testng.run();
}
}
除非所有的jar文件都在同一目錄中,否則您需要在類路徑中指定每個jar的路徑。 您還需要確保您沒有丟失任何其他JAR文件。
java -cp "/path/to/project/My_automation.jar; /path/to/project/libs/testng-5.5.jar" ...
從命令提示符運行時,請在類路徑中提供testng.jar。
java -cp "My_Automation.jar;testng-5.5.jar" com.mycomp.test.sanity.InvokeTestNGTest
謝謝
您的運行時類路徑上不包含哪個org.testng.ITestListener類。 Sergii Zagriichuk提到了一個testng.jar?
意識到我已經將其導出為一個jar而不是可執行jar。 這不是為項目選擇依賴罐。 謝謝你的指導
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.