因此,我正在从事一个大型现有公司项目,其中有些东西是旧的/已弃用的,我正在尝试逐步改进它。
现在我正在尝试将 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 后,一些库已被删除。如果要使用它们,则需要将它们作为依赖项专门添加。
这个问题已经有人回答了:
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/