> Could not create task ‘:app:MyTest.main()‘. > SourceSet with name ‘main‘ not found.问题修复

本文详述了在Android Studio中遇到的无法执行Java类main方法的问题,重点在于gradle配置文件的修改,通过添加<option name=delegatedBuild value=false />来修复,并提供了具体的解决步骤。

Android studio 无法执行Java类的main方法问题及解决方法 

FAILURE: Build failed with an exception.

* Where:
Initialization script 'C:\Users\eerdunsang\AppData\Local\Temp\MyTest_main__.gradle' line: 21

* What went wrong:
A problem occurred configuring project ':app'.
> Could not create task ':app:MyTest.main()'.
   > SourceSet with name 'main' not found.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 9s
9:10:31: Task execution finished 'MyTest.main()'.

解决方法:
在.idea文件夹下的gradle.xml文件中 <GradleProjectSettings>标签下添加<option name="delegatedBuild" value="false" />,然后重新运行就可以了

<option name="delegatedBuild" value="false" />


 

 

在Java测试运行过程中,如果出现错误提示“class not found”或“empty test suite”,通常表示测试框架(如JUnit)无法找到指定的测试类或测试用例。以下是可能的原因及对应的解决方案: ### 原因分析 1. **类路径(Classpath)问题** 测试运行时,JVM无法在类路径中找到指定的类`com.lkm.mytest.board.Test2`。这可能是因为编译后的测试类未被正确放置在`target/test-classes`目录中,或者构建过程中未包含该类。 2. **包名或类名拼写错误** 如果类名或包路径拼写不一致,例如`Test2.class`实际位于`com.lkm.mytest.board`之外的包中,测试框架将无法识别该类。 3. **测试类未正确标注测试注解** JUnit 4 使用`@Test`注解标识测试方法,JUnit 5 则使用`org.junit.jupiter.api.Test`。若测试方法未正确标注,或者测试类未包含任何测试方法,则框架会报告“empty test suite”。 4. **Maven或Gradle配置问题** 如果使用Maven或Gradle进行构建,测试类未放在默认目录(如`src/test/java`)下,或者`pom.xml`/`build.gradle`文件中未正确配置测试插件,也可能导致类找不到。 5. **IDE缓存问题** 有时IDE(如IntelliJ IDEA或Eclipse)未重新编译测试类或未更新索引,也可能导致类找不到。 --- ### 解决方案 1. **确认类路径是否正确** 确保`com.lkm.mytest.board.Test2.class`文件存在于`target/test-classes/com/lkm/mytest/board/`目录中。如果不存在,运行`mvn test-compile`或`gradle testClasses`重新编译测试类。 2. **检查包和类名拼写** 确认测试类的包声明与文件路径一致,并且类名拼写无误。例如,类`Test2`应位于`src/test/java/com/lkm/mytest/board/Test2.java`。 3. **确保测试方法使用正确注解** 对于JUnit 4,测试方法应使用`org.junit.Test`注解;对于JUnit 5,使用`org.junit.jupiter.api.Test`。确保测试类中至少包含一个测试方法: ```java import org.junit.Test; public class Test2 { @Test public void testExample() { // 测试逻辑 } } ``` 4. **检查Maven或Gradle配置** 确保测试类位于`src/test/java`目录下,并且构建工具配置正确。Maven示例配置: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.0.0-M5</version> </plugin> </plugins> </build> ``` 5. **清理并重新构建项目** 运行以下命令清理并重新构建项目: ```bash mvn clean test ``` 或者 ```bash gradle clean test ``` 6. **刷新IDE缓存** 在IntelliJ IDEA中,尝试执行`File -> Invalidate Caches / Restart`;在Eclipse中,执行`Project -> Clean`并重新导入项目。 --- ### 验证步骤 1. 编译测试类并确认生成的`.class`文件位于正确路径。 2. 执行`mvn test`或`gradle test`运行测试。 3. 检查控制台输出,确认测试类被正确加载并执行。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值