Java项目中出现图下这个错误,目前已知是缺少org.testng.annotations.BeforeTest

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java项目中出现图下这个错误,目前已知是缺少org.testng.annotations.BeforeTest相关的知识,希望对你有一定的参考价值。

Java项目中出现图下这个错误,目前已知是缺少org.testng.annotations.BeforeTest这个类,但不道它在哪个包里,我想的是找到那个包,然后加入到我的Java项目中,谢谢大能们告诉我解决方法,最坏的打算就是重写了。

参考技术A ------先解释整体命令的意思,拆成三部分解释:

首先 cp 是设置classpath(如果不知道这是啥 把他暂时理解为java搜索类文件的路径就行)的缩写方式,是java的参数;

后面的org.testng.TestNG是包含main方法类的全名,同样是java参数

最后的.\\testng.xml是程序参数,或者说是main方法里的参数

--------之后解释\与\\的问题
\是windows系统代表文件路径级别的方式,点(.)则代表着当前目录,.\bin表示的是当前目录下的bin文件夹;libs同样如此;

让后就是这个双杠了,在编程的字符串中,\代表着转义字符,例如\n,\t分别对应于换行和TAB,而在字符串里表示windows路径时,我们本意需要的就是\本身,故而使用\\,做为\的转义字符;

上述情况是在编码中的字符串常量里表达的,这里我大胆的猜一下,可能写这个命令的人理解错了一些东西,作为参数,\是不需要转义的;而操作系统有这样一个默认,即输入多个杠表示的是同一级路径,比如C:\与C:\\\\\\\\都可以代表C盘根目录,所以即使写了多个杠也一样能正常使用。

------------最后说引号
这个是命令的问题,一般来讲,执行命令时会把空格后的东西当成参数,但有时,参数本身就带有空格,比如“C:\Program Files”这个路径,用引号引起来,是为了告诉命令的执行者C:\Program Files是一个不可分割的整体,不要把Files单独的当成参数了。
一般而言,出现此类情况都是文件夹名称的问题,所以在打命令时,习惯了将表达路径的参数用引号引起来,使程序不会因为路径中带有空格而出问题。

------------其它的一些建议
1.classpath是个比较重要的概念,需要好好了解一下。
2.编码里最好少用\\,这是windows的表达方式,当你需要java的跨平台特性时,可能会遇到麻烦(比如linux就不认);你可以使用/来表示路径结构,例如/C:/windows/追问

这是啥?和题目没关系啊

本回答被提问者和网友采纳
参考技术B 直接import org.testng.annotations.BeforeTest试试。追问

直接是啥意思?我怎么操作?

以上是关于Java项目中出现图下这个错误,目前已知是缺少org.testng.annotations.BeforeTest的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio 项目出现错误“缺少权限”

java.security.InvalidKeyException: Illegal key size or default parameters

将数据库从 MySQL 更改为 SQLite 后出现 Java 项目错误

在导入JAVA项目缺少JAR包,但是代码里面没有错误提示?如何解决

快速出现错误的核心图:“调用中的参数‘frame’缺少参数”

Cannot resolve class or package 'mysql’