You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle7生成Ormlite配置提示JavaExec.main属性废弃如何解决

解决方法

直接按下面步骤改,不需要懂Gradle原理,复制粘贴对应内容就行,改完和你之前的使用习惯几乎没有区别:

  1. 先确认你的DatabaseConfigUtil类放在main源码目录下,路径和你的包名匹配,也就是app/src/main/java/com/mydomain/myapp/DatabaseConfigUtil.java,不要挪到test相关目录。
  2. 打开app模块的build.gradle文件,滑到整个文件最末尾,也就是android{}代码块的外面,粘贴下面这段代码:
task createOrmliteConfig(type: JavaExec) {
    // 注意把这里的类名替换成你自己的DatabaseConfigUtil的完整包路径
    mainClass = "com.mydomain.myapp.DatabaseConfigUtil"
    classpath = files(
            android.bootClasspath,
            configurations.compileClasspath,
            fileTree(dir: "$buildDir/intermediates/javac/debug/classes", include: "**/*.class")
    )
    // 生成的配置文件直接输出到main的assets目录,省得手动复制
    workingDir = file("src/main/assets/")
    jvmArgs = ["-Dfile.encoding=UTF-8"]
}
  1. 点一下Android Studio顶部的小锤子图标(Make Project),等项目编译完成,保证所有数据库实体类都生成了对应的class文件。
  2. 两种运行方式选一个即可:
    • 临时跑一次:打开右侧边栏的Gradle面板,依次展开app -> Tasks -> other,找到createOrmliteConfig双击运行,控制台看到BUILD SUCCESSFUL就说明配置文件生成好了。
    • 想像之前一样点顶部的运行按钮直接跑:删掉你之前建的那个失效的Application类型运行配置,新建一个Gradle类型的运行配置,选中刚才的createOrmliteConfig任务,保存之后点运行按钮就和之前操作完全一致。

注意事项

  • 粘贴完代码一定要把mainClass后面的字符串换成你自己的DatabaseConfigUtil的完整类名,不然会报找不到类的错。
  • 如果assets目录还没创建,自己在app/src/main/下面新建一个叫assets的文件夹即可。
  • 这个写法用的是Gradle官方要求的mainClass属性,不会再出现你遇到的废弃警告,Gradle7、Gradle8版本都能正常使用。
  • 每次改完数据库实体类,重新跑一遍这个任务就能生成最新的配置文件,不需要改其他配置。
  • 如果运行时报找不到自定义实体类的错,把classpath里的fileTree路径改成"$buildDir/intermediates/javac/debug/compileDebugJavaWithJavac/classes"即可。

内容的提问来源于stack exchange,提问作者Kenny Wyland

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 13:57:08