Maven编译时无法找到org.testng包问题求助
问题原因及解决方案
问题根源
你在pom.xml中给TestNG依赖设置了<scope>test</scope>,这个作用域限定了TestNG仅在src/test/java目录的编译、运行阶段可用,但你的代码Opportunities.java放在了src/main/java目录下,执行mvn clean compile时,Maven编译main目录代码不会加载test作用域的依赖,所以报出package org.testng does not exist错误。
解决方法
方法一:调整代码位置(推荐)
将引用TestNG的代码(如Opportunities.java)迁移到src/test/java目录下。TestNG是测试框架,测试逻辑放在test目录符合Maven项目结构规范,也能避免依赖作用域冲突。
方法二:修改依赖作用域
如果必须在main目录中使用TestNG,删除pom.xml里的<scope>test</scope>配置,让依赖默认以compile作用域生效(对main和test目录都可用):
<dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>7.10.2</version> </dependency>
内容的提问来源于stack exchange,提问作者Muhammad Salman Ali
相关产品推荐
相关产品推荐

