java - Cordova构建android错误-ParseException:不支持的类文件版本53.0

标签 java android cordova jackson

我的Android版本(使用Cordova)有问题。升级到MacOs Catalina之后,通过命令“ cordova build android”构建我的cordova应用时,收到此错误:

ParseException:不支持的类文件版本53.0。您有什么想法或提示,我该如何解决?

非常感谢您的每一个回答。

整个堆栈错误为:

3秒内失败
36个可执行任务:已执行4个,最新32个
/ Users / honzaskalicky / Projects / Marketvision / spring-mobile-tmp / platforms / android / gradlew:命令失败,退出代码为1错误输出:
注意:某些输入文件使用或覆盖不推荐使用的API。
注意:有关详细信息,请使用-Xlint:deprecation重新编译。
注意:某些输入文件使用未经检查或不安全的操作。
注意:使用-Xlint:unchecked重新编译以获取详细信息。
com.android.builder.dexing.DexArchiveBuilderException:com.android.builder.dexing.DexArchiveBuilderException:无法处理/Users/honzaskalicky/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson -core / 2.10.0 / 4e2c5fa04648ec9772c63e2101c53af6504e624e / jackson-core-2.10.0.jar
    在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)处
    在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    在java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    在java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:593)
    在java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:677)
    在java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:720)
    在com.android.ide.common.internal.WaitableExecutor.waitForTasksWithQuickFail(WaitableExecutor.java:146)
    在com.android.build.gradle.internal.transforms.DexArchiveBuilderTransform.transform(DexArchiveBuilderTransform.java:235)
    在com.android.build.gradle.internal.pipeline.TransformTask $ 2.call(TransformTask.java:222)
    在com.android.build.gradle.internal.pipeline.TransformTask $ 2.call(TransformTask.java:218)
    在com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102)
    在com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:213)
    在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
    在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    在java.lang.reflect.Method.invoke(Method.java:498)
    在org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
    在org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore $ IncrementalTask​​Action.doExecute(DefaultTaskClassInfoStore.java:173)
    在org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore $ StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)
    在org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore $ StandardTaskAction.execute(DefaultTaskClassInfoStore.java:121)
    在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter $ 1.run(ExecuteActionsTaskExecuter.java:122)
    在org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)处
    在org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    在org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
    在org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
    在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:111)
    在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
    在org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
    在org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:63)
    在org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
    在org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    在org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
    在org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)处
    在org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    在org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
    在org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    在org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
    在org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker $ 1.run(DefaultTaskGraphExecuter.java:248)
    在org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)处
    在org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    在org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
    在org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
    在org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)处
    在org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)处
    在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:124)处
    在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.access $ 200(DefaultTaskPlanExecutor.java:80)
    在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker $ 1.execute(DefaultTaskPlanExecutor.java:105)处
    在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker $ 1.execute(DefaultTaskPlanExecutor.java:99)
    在org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625)处
    在org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:580)处
    在org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:99)
    在org.gradle.internal.concurrent.ExecutorPolicy $ CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
    在org.gradle.internal.concurrent.ManagedExecutorImpl $ 1.run(ManagedExecutorImpl.java:46)
    在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)
    在org.gradle.internal.concurrent.ThreadFactoryImpl $ ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
    在java.lang.Thread.run(Thread.java:748)
引起原因:com.android.builder.dexing.DexArchiveBuilderException:无法处理/Users/honzaskalicky/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.10.0/ 4e2c5fa04648ec9772c63e2101c53af6504e624e / jackson-core-2.10.0.jar
    在com.android.build.gradle.internal.transforms.DexArchiveBuilderTransform.launchProcessing(DexArchiveBuilderTransform.java:550)
    在com.android.build.gradle.internal.transforms.DexArchiveBuilderTransform.lambda $ convertToDexArchive $ 1(DexArchiveBuilderTransform.java:488)
    在java.util.concurrent.ForkJoinTask $ AdaptedCallable.exec(ForkJoinTask.java:1424)
    在java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
    在java.util.concurrent.ForkJoinPool $ WorkQueue.runTask(ForkJoinPool.java:1056)
    在java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
    在java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
引起原因:com.android.builder.dexing.DexArchiveBuilderException:对module-info.class进行分块时出错
    在com.android.builder.dexing.DxDexArchiveBuilder.getExceptionToRethrow(DxDexArchiveBuilder.java:143)
    在com.android.builder.dexing.DxDexArchiveBuilder.convert(DxDexArchiveBuilder.java:89)
    在com.android.build.gradle.internal.transforms.DexArchiveBuilderTransform.launchProcessing(DexArchiveBuilderTransform.java:545)
    ...另外6个
引起原因:com.android.dx.cf.iface.ParseException:不支持的类文件版本53.0
    在com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:499)
    在com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:420)
    在com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:402)
    在com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:253)
    在com.android.builder.dexing.DxDexArchiveBuilder.dex(DxDexArchiveBuilder.java:99)
    在com.android.builder.dexing.DxDexArchiveBuilder.convert(DxDexArchiveBuilder.java:86)
    ...另外7个

失败:构建失败,发生异常。

什么地方出了错:
任务':transformClassesWithDexBuilderForArmv7Debug'的执行失败。
com.android.build.api.transform.TransformException:com.android.builder.dexing.DexArchiveBuilderException:com.android.builder.dexing.DexArchiveBuilderException:无法处理/Users/honzaskalicky/.gradle/caches/modules-2/files -2.1 / com.fasterxml.jackson.core / jackson-core / 2.10.0 / 4e2c5fa04648ec9772c63e2101c53af6504e624e / jackson-core-2.10.0.jar

最佳答案

问题解决了

到build.gradle(platforms / android)中,您必须添加库的确切版本,该库不是在Java 9中构建的,对我来说,它是在Java 9中构建的杰克逊核心版本2.0.9,所以我必须使用版本2.0.0

对我来说这有效:

dependencies {
    // Other dependencies
    compile("com.fasterxml.jackson.core:jackson-core:2.0.0"){
        force = true
    }
}


或者您可以添加到build.gradle的末尾:

configurations.all {
    resolutionStrategy {
        force 'com.fasterxml.jackson.core:jackson-core:2.0.0'
    }
}

关于java - Cordova构建android错误-ParseException:不支持的类文件版本53.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58446532/

相关文章:

java - 如何处置jframe

java - 检测集合中不同元素的高效算法

java - 为 HttpOnly 和 Secure 设置了 JSESSIONID

android - 为文档名称提供 UID

ios - Cordova InAppBrowser 打开但页面加载到主页面

java - RecyclerView 显示来自 2 种不同布局的数据

java - 如何让 ProGuard 保留整个(整个)类(带有字段和方法)而不使用 "-keep"

Android Studio 终端无法将 gradle 识别为命令

javascript - PhoneGap 和 Javascript OOP

ios - Ionic 混合应用程序地理定位在 iOS10 上被阻止