Android Studio运行首个Java程序提示SourceSet 'main'不存在怎么解决
错误根因
该报错核心是Android项目默认的Gradle配置没有适配普通Java SE程序的运行需求,不存在Java SE项目标准的main SourceSet,因此Gradle无法识别你写的main方法入口。
无法创建任务':app:Demo.main()',未找到名为'main'的SourceSet。
解决方法
你可以根据自己的使用场景选择以下任意一种方案:
- 方案1:临时测试单个Java类,修改运行配置绕过Gradle构建
- 打开带main方法的Demo类,点击main方法左侧的绿色运行箭头,选择
Modify Run Configuration - 在配置页找到
Run via选项,将默认的Gradle修改为IntelliJ IDEA - 保存配置后重新运行即可,该方式直接编译运行单个Java文件,不依赖Android项目的Gradle构建逻辑
- 打开带main方法的Demo类,点击main方法左侧的绿色运行箭头,选择
- 方案2:长期开发普通Java程序,新建独立Java库模块
- 点击顶部菜单栏
File > New > New Module - 选择
Java or Kotlin Library类型,自定义模块名后完成创建 - 将你的Java类迁移到新模块的
src/main/java目录下,再运行main方法即可正常执行
- 点击顶部菜单栏
- 方案3:需在现有app模块运行main方法,手动补充SourceSet配置
打开app模块下的build.gradle文件,在android闭包外添加如下配置,同步Gradle后再运行即可:
注意:该方案容易和Android项目原有构建配置产生冲突,仅作为临时适配使用,不推荐长期使用。sourceSets { main { java.srcDirs = ['src/main/java'] } }
内容的提问来源于stack exchange,提问作者capellaIDIF
相关产品推荐
相关产品推荐

