Android Studio运行Java类报错SourceSet 'main'不存在如何解决?
问题原因
Android项目默认的Gradle构建配置针对Android应用开发场景设计,未适配普通Java SE程序的main方法运行逻辑,你执行Test.main()时Gradle无法找到Java程序运行所需的main SourceSet配置,因此抛出对应错误。
可用解决方案
- 方案1:使用JUnit单元测试(最便捷)
Android Studio默认支持运行test目录下的JUnit测试代码,你只需将测试逻辑写到带@Test注解的方法中即可直接执行:
package com.example.jerry; import org.junit.Test; public class Test { @Test public void printHello() { System.out.println("Hello World"); } }
点击方法左侧的运行按钮即可在控制台看到输出结果。
- 方案2:修改模块Gradle配置适配main方法运行
在app模块的build.gradle文件中添加如下配置,同步Gradle后即可正常运行main方法:
sourceSets { main { java.srcDirs = ['src/main/java'] } } task runMain(type: JavaExec) { mainClass = 'com.example.jerry.Test' classpath = sourceSets.main.runtimeClasspath }
同步完成后在Gradle任务列表中找到runMain任务执行即可。
- 方案3:新建纯Java模块
如果你需要频繁编写运行纯Java代码,可以在项目中新增一个Java or Kotlin Library类型的模块,该类型模块默认自带Java SE运行配置,无需额外修改即可直接运行类中的main方法。
内容的提问来源于stack exchange,提问作者AI Shakil
相关产品推荐
相关产品推荐

