gpt4 book ai didi

java - 为什么 Java 11 在 Android Studio 中给出 TaskExecutionException?

转载 作者:行者123 更新时间:2023-12-04 14:03:21 25 4
gpt4 key购买 nike

因此,我正在从事一个大型现有公司项目,其中有些东西是旧的/已弃用的,我正在尝试逐步改进它。

现在我正在尝试将 JDK 版本从 Java 1.8 更新到 Java 11。所以我从 Android Studio 首选项设置中进行了更改。

我也做了这个改变:https://developer.android.com/studio/releases/gradle-plugin#java-11

关于我的项目:

targetSDK版本:30

Android Studio:最新的稳定版本

项目编码:50% 代码 Java 和 50% 代码 Kotlin

因此,当我进行上述 2 项更改并同步项目时,它已成功同步,当我尝试运行此程序时,出现此异常。

java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3137)
at java.base/java.lang.Class.getConstructor0(Class.java:3342)
at java.base/java.lang.Class.newInstance(Class.java:556)

Execution failed for task ':app:kaptPlaystoreDebugKotlin'.
> Internal compiler error. See log for more details

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:kaptPlaystoreDebugKotlin'

注意:playstoreDebug 是构建变体名称。

最佳答案

回答:从 java8 升级到 java11 后,一些库已被删除。如果要使用它们,则需要将它们作为依赖项专门添加。

这个问题已经有人回答了:

javax.xml.bind.JAXBException Implementation of JAXB-API has not been found on module path or classpath

Replacements for deprecated JPMS modules with Java EE APIs

将这些依赖项添加到您的 pom/gradle 中:

Gradle :

compile('javax.xml.bind:jaxb-api:2.3.0')
compile('javax.activation:activation:1.1')
compile('org.glassfish.jaxb:jaxb-runtime:2.3.0')

代码:

<!-- https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api -->
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0-b170201.1204</version>
</dependency>

<!-- https://mvnrepository.com/artifact/javax.activation/activation -->
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.glassfish.jaxb/jaxb-runtime -->
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.0-b170127.1453</version>
</dependency>

关于java - 为什么 Java 11 在 Android Studio 中给出 TaskExecutionException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69286808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com