【发布时间】:2021-09-04 23:54:57
【问题描述】:
我有一个 android 项目,我无法再在本地运行所有测试 gradle 任务(我在这个项目中有 3 种不同的风格)。在任务失败之前,我收到此错误消息 50 次。使用 Gitlab CI/CD 远程运行这些任务没有问题,我在本地有另一个项目也没有这个问题。
java.lang.NoClassDefFoundError: jdk/internal/reflect/GeneratedSerializationConstructorAccessor1
at jdk.internal.reflect.GeneratedSerializationConstructorAccessor1.newInstance(Unknown Source)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.base/java.io.ObjectStreamClass.newInstance(ObjectStreamClass.java:1092)
at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2150)
at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1668)
at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:482)
at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:440)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.deserializeWorker(SystemApplicationClassLoaderWorker.java:153)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:121)
at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:71)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
【问题讨论】:
-
我遇到了完全相同的问题,您最近是否有机会升级到最新的 Jetbrains IDE 版本? AS 4.2.1 我认为
-
@davy307 是的,我最近也将 Android Studio 更新到了 4.2.1,但我无法确定问题的日期,所以我不确定这是否相关
-
更新:我在 AS 4.2.1 上遇到了问题。然后我尝试了最后一个版本的 IC 2021.1,一开始 intellij 有 gradle 问题,不想编译项目。在我的项目的 git 历史来回查看之后,它以某种方式修复了 IC 的构建问题(无需更改一行),我现在可以构建项目并使用 IC 运行测试。问题仍然存在于 AS。
-
对,所以经过一番调查,发现AS 4.2.1 有一个问题,它丢失了对JDK 的引用,现在,根据您的项目,您需要下载特定的JDK 版本来自 oracle(对于我们来说,我使用了 JDK 8 (oracle.com/uk/java/technologies/javase/…),因为这是支持的最大值,然后在 Project Structure 菜单下将 AS 指向它作为它的 JAVA_HOME
标签: java android unit-testing gradle