记录需要ASM8
Records requires ASM8
我想试用最新的 Java 15 预览功能。我正在使用 Spring Boot 2.4.0-M2 和 Gradle 6.7-rc2,它们都支持 Java 15 个功能。
我想使用 jib 从我的项目构建一个 docker 图像。这是我的吊臂配置:
jib {
from {
image = 'openjdk:15-jdk'
}
to {
image = '<username>/<project>'
}
container {
jvmFlags = ['--enable-preview']
}
}
不幸的是,当我 运行 ./gradlew jib
我收到以下错误:
Execution failed for task ':jib'.
> Records requires ASM8
这是 运行 --info
标志时的输出:
> Task :jib FAILED
Caching disabled for task ':jib' because:
Build cache is disabled
Task ':jib' is not up-to-date because:
Task has not declared any outputs despite executing actions.
Searching for main class... Add a 'mainClass' configuration to 'jib' to improve build speed.
Could not find a valid main class from 'jar' task; looking into all class files to infer main class.
:jib (Thread[Execution worker for ':',5,main]) completed. Took 0.003 secs.
有没有人遇到过类似的问题?
ASM 有一个内部机制,应用程序必须 select API 级别才能通过代码使用。这意味着在这种情况下简单地更新依赖项将无济于事。
long-term 解决方案是等待 jib 切换到较新的 API 级别。
但是 this Github comment 建议当您明确指定主要 class 时不需要 ASM。
因此您可以通过指定您的主要 class 绕过“旧”ASM API 级别,它还应该加快 jib 构建步骤,如您的日志中所述)。
关于错误消息 Could not find a valid main class from 'jar' task
此任务缺少主要 class。所以你必须添加主要 class 并且该过程应该有效:
mainClassName = "your.MainClass"
如果您在 Android 上获得此内容并且您使用的是 Moshi 1.13.0 和 Dagger Hilt,请将此内容添加到您应用程序根目录中的 gradle.properties
文件中。
android.jetifier.ignorelist=moshi-1.13.0
https://github.com/square/moshi/issues/1463#issuecomment-994576201
我想试用最新的 Java 15 预览功能。我正在使用 Spring Boot 2.4.0-M2 和 Gradle 6.7-rc2,它们都支持 Java 15 个功能。
我想使用 jib 从我的项目构建一个 docker 图像。这是我的吊臂配置:
jib {
from {
image = 'openjdk:15-jdk'
}
to {
image = '<username>/<project>'
}
container {
jvmFlags = ['--enable-preview']
}
}
不幸的是,当我 运行 ./gradlew jib
我收到以下错误:
Execution failed for task ':jib'.
> Records requires ASM8
这是 运行 --info
标志时的输出:
> Task :jib FAILED
Caching disabled for task ':jib' because:
Build cache is disabled
Task ':jib' is not up-to-date because:
Task has not declared any outputs despite executing actions.
Searching for main class... Add a 'mainClass' configuration to 'jib' to improve build speed.
Could not find a valid main class from 'jar' task; looking into all class files to infer main class.
:jib (Thread[Execution worker for ':',5,main]) completed. Took 0.003 secs.
有没有人遇到过类似的问题?
ASM 有一个内部机制,应用程序必须 select API 级别才能通过代码使用。这意味着在这种情况下简单地更新依赖项将无济于事。
long-term 解决方案是等待 jib 切换到较新的 API 级别。
但是 this Github comment 建议当您明确指定主要 class 时不需要 ASM。
因此您可以通过指定您的主要 class 绕过“旧”ASM API 级别,它还应该加快 jib 构建步骤,如您的日志中所述)。
关于错误消息 Could not find a valid main class from 'jar' task
此任务缺少主要 class。所以你必须添加主要 class 并且该过程应该有效:
mainClassName = "your.MainClass"
如果您在 Android 上获得此内容并且您使用的是 Moshi 1.13.0 和 Dagger Hilt,请将此内容添加到您应用程序根目录中的 gradle.properties
文件中。
android.jetifier.ignorelist=moshi-1.13.0
https://github.com/square/moshi/issues/1463#issuecomment-994576201