kymjs / KotlinPrimer

极客时间视频中的PPT与代码
https://kymjs.com/
303 stars 74 forks source link

AS3.0 Gradle4.4 运行找不到Main函数 #1

Open jingyc0305 opened 6 years ago

jingyc0305 commented 6 years ago

Exception in thread "main" java.lang.ClassNotFoundException kotlin : 1.2.51 classpath 'com.android.tools.build:gradle:3.1.0'

app gradle 都配置了。。。

kymjs commented 6 years ago

ClassNotFoundException的完整报错有吗,是哪个类找不到

jingyc0305 commented 6 years ago

Exception in thread "main" java.lang.ClassNotFoundException: chenrui.com.kotlindemo.TestKt at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at com.intellij.rt.execution.application.AppMainV2.main(AppMainV2.java:107)

Process finished with exit code 1

===================> var name = "JingYuchun" var name2 :String? = null

fun main(args: Array) { name = name2!! print(name) } 我注释掉name = name2!! 这一句 就不会出现这个异常了 这句代码 看视频 你说是强转赋值给name 那执行打印为什么会报main函数找不到 呢 也没有报空异常

kymjs commented 6 years ago

检查一下是不是没有写包名 package chenrui.com.kotlindemo

jingyc0305 commented 6 years ago

有写的 你可以试试 把name = name2!!这句代码注释打开 再run 就会报这个异常 注释掉就正常

kymjs commented 6 years ago

打开以后我这边是直接报空指针,你可以试试运行一下仓库中的Project1试一下

jingyc0305 commented 6 years ago

Project1我运行也是报找不到main异常 我用的是android27 as是3.1 gradle插件是3.1.0 版本是4.4

"C:\Program Files\Android\Android Studio\jre\bin\java" -Didea.launcher.port=54149 "-Didea.launcher.bin.path=C:\Program Files\Android\Android Studio\bin" -Dfile.encoding=UTF-8 -classpath "D:\androidDevTools\android-sdk-windows\platforms\android-27\android.jar;D:\androidDevTools\android-sdk-windows\platforms\android-27\data\res;D:\KotlinLearn\app\build\intermediates\classes\debug;C:\Users\JIngYuchun.gradle\caches\modules-2\files-2.1\android.arch.lifecycle\common\1.1.0\edf3f7bfb84a7521d0599efa3b0113a0ee90f85\common-1.1.0.jar;C:\Users\JIngYuchun.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-jdk7\1.2.51\a37c0066df119c02f034bf17159089b588ccc41a\kotlin-stdlib-jdk7-1.2.51.jar;C:\Users\JIngYuchun.gradle\caches\modules-2\files-2.1\com.android.support\support-annotations\27.1.1\39ded76b5e1ce1c5b2688e1d25cdc20ecee32007\support-annotations-27.1.1.jar;C:\Users\JIngYuchun.gradle\caches\modules-2\files-2.1\io.reactivex.rxjava2\rxjava\2.1.12\975d34a9f14da5b0aecffa603501e9716aae5aa4\rxjava-2.1.12.jar;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\animated-vector-drawable-27.1.1.aar\b7018bac7faa1d5752c963732295fdb8\jars\classes.jar;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\support-compat-27.1.1.aar\e08df097945facf67bace3a666becb14\res;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\support-compat-27.1.1.aar\e08df097945facf67bace3a666becb14\jars\classes.jar;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\BaseRecyclerViewAdapterHelper-2.9.40.aar\268c078e529905d1c8e9c331ecc6cf5f\jars\classes.jar;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\BaseRecyclerViewAdapterHelper-2.9.40.aar\268c078e529905d1c8e9c331ecc6cf5f\res;C:\Users\JIngYuchun.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-common\1.2.51\e4a9d4b13ab19ed1e6531fce6df98e8cfa7f7301\kotlin-stdlib-common-1.2.51.jar;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\viewmodel-1.1.0.aar\8dde58be102ea9fba9da0f4688f3e400\jars\classes.jar;C:\Users\JIngYuchun.gradle\caches\modules-2\files-2.1\org.reactivestreams\reactive-streams\1.0.2\323964c36556eb0e6209f65c1cef72b53b461ab8\reactive-streams-1.0.2.jar;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\recyclerview-v7-27.1.1.aar\48d6be6f43ebbd0b5f9242132403c26a\jars\classes.jar;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\recyclerview-v7-27.1.1.aar\48d6be6f43ebbd0b5f9242132403c26a\res;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\support-vector-drawable-27.1.1.aar\1be085f0e66b148c4c761b542fc43965\jars\classes.jar;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\support-core-ui-27.1.1.aar\cc159846579081c64279ea9d0b4c74f4\res;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\support-core-ui-27.1.1.aar\cc159846579081c64279ea9d0b4c74f4\jars\classes.jar;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\constraint-layout-1.1.2.aar\0c2e5c2af1ac124b178f0ec114ea4cfa\jars\classes.jar;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\constraint-layout-1.1.2.aar\0c2e5c2af1ac124b178f0ec114ea4cfa\res;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\support-core-utils-27.1.1.aar\6131ae9c233c3d47f4128bcccae7f2fc\jars\classes.jar;C:\Users\JIngYuchun.gradle\caches\modules-2\files-2.1\org.jetbrains\annotations\13.0\919f0dfe192fb4e063e7dacadee7f8bb9a2672a9\annotations-13.0.jar;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\BluetoothSPPLibrary-1.0.aar\ee2628913cc0cc4f5d648c059c13e1c8\jars\classes.jar;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\BluetoothSPPLibrary-1.0.aar\ee2628913cc0cc4f5d648c059c13e1c8\res;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\support-fragment-27.1.1.aar\40c2f7227cb95bac29d248526a30f426\jars\classes.jar;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\rxandroid-2.0.2.aar\f98ac9ef02b862a448bd1883d5e0b42c\jars\classes.jar;C:\Users\JIngYuchun.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib\1.2.51\fa8127e505bff50fec291d0dd619d1bda5c619e0\kotlin-stdlib-1.2.51.jar;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\runtime-1.1.0.aar\9016f762f1cf8a68dba34610c01b16eb\jars\classes.jar;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\1d42eaef268f2a673e38c764780b01cb\jars\classes.jar;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.1.1.aar\1d42eaef268f2a673e38c764780b01cb\res;C:\Users\JIngYuchun.gradle\caches\modules-2\files-2.1\com.android.support.constraint\constraint-layout-solver\1.1.2\bfc967828daffc35ba01c9ee204d98b664930a0f\constraint-layout-solver-1.1.2.jar;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\livedata-core-1.1.0.aar\d0d4163999e43ac77ff7f8a71a110103\jars\classes.jar;C:\Users\JIngYuchun.gradle\caches\modules-2\files-2.1\android.arch.core\common\1.1.0\8007981f7d7540d89cd18471b8e5dcd2b4f99167\common-1.1.0.jar;C:\Users\JIngYuchun.gradle\caches\modules-2\files-2.1\io.reactivex.rxjava2\rxkotlin\2.2.0\e1e2fbb13b1c7dc6d2d03b6221a016d1501ad5a9\rxkotlin-2.2.0.jar;C:\Users\JIngYuchun.gradle\caches\transforms-1\files-1.1\runtime-1.1.0.aar\79cc37352755c3b54c4e39cd7e59e234\jars\classes.jar;C:\Program Files\Android\Android Studio\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMainV2 chenrui.com.kotlindemo.TestKt Exception in thread "main" java.lang.ClassNotFoundException: chenrui.com.kotlindemo.TestKt at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at com.intellij.rt.execution.application.AppMainV2.main(AppMainV2.java:107)

Process finished with exit code 1 异常上面有一堆 折叠的 之前没复制 不知道什么 你看看

kymjs commented 6 years ago

把你的工作空间清理干净,然后按照这篇文章讲的步骤来:https://kymjs.com/code/2017/02/03/01/

SunneyCss commented 6 years ago

遇到同样的问题,请问你解决了吗? @jingyc0305

SunneyCss commented 6 years ago

新建一个android demo并且新建了一个Test.kt文件,其中包含方法如下: fun main(args: Array) { val age = 18 val name = "sunny" println("我叫$name,我今年$age 岁") }

运行出现异常如下: Exception in thread "main" java.lang.ClassNotFoundException: com.example.sunney.ktdemo1.TestKt at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at com.intellij.rt.execution.application.AppMainV2.main(AppMainV2.java:107)

Process finished with exit code 1

jingyc0305 commented 6 years ago

@SunneyCss 还没有按楼主去重新配环境的方法处理 只是新建 .kt文件 main函数运行报这个错 写kotlin class 运行app什么的 是正常的 时间比较忙 就没去重新配环境. 我试过 只打印一句hello world 也报错

sun-huafeng commented 6 years ago

apply plugin:'kotlin-android'