java.lang.NoSuchMethodError: com.google.common.collect.ImmutableList.builderWithExpectedSize
See original GitHub issueDescription of the issue:
./gradlew jib
fails
Expected behavior:
./gradlew jib
works
Steps to reproduce:
I added jib to my project and ./gradlew jib
is broken.
Environment:
- macOS 10.13.5
- java version 1.8.0_172
- Gradle 4.8.1
jib-gradle-plugin
Configuration:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath Plugins.KOTLIN
}
}
plugins {
// https://plugins.gradle.org/plugin/com.google.cloud.tools.jib
id 'com.google.cloud.tools.jib' version '0.9.6'
}
apply plugin: 'java'
apply plugin: 'kotlin'
jib.to.image = 'gcr.io/delta-essence-114723/soseedy'
dependencies {
compile project(':dataseedingapi')
// https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22io.grpc%22%20a%3A%22grpc-netty%22
compile 'io.grpc:grpc-netty:1.12.0'
compile Libs.KOTLIN_STD_LIB
// https://mvnrepository.com/artifact/io.netty/netty-tcnative-boringssl-static
compile 'io.netty:netty-tcnative-boringssl-static:2.0.8.Final'
testCompile Libs.JUNIT
}
sourceCompatibility = "1.8"
targetCompatibility = "1.8"
repositories {
mavenCentral()
}
compileKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
task("fatJar", type: Jar) {
baseName = "${project.name}-all"
manifest {
attributes 'Main-Class': 'com.instructure.dataseeding.OutOfProcessServer'
}
from { configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) } }
with jar
}
Log output:
Gradle stacktrace
warning: Base image 'gcr.io/distroless/java' does not use a specific image digest - build may not be reproducible Containerizing application to gcr.io/delta-essence-114723/soseedy... Retrieving registry credentials for gcr.io... Getting base image gcr.io/distroless/java... Building dependencies layer... Building resources layer... Building classes layer... > Task :jib FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':jib'. > com.google.common.collect.ImmutableList.builderWithExpectedSize(I)Lcom/google/common/collect/ImmutableList$Builder; * 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 ':jib'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:110) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77) at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59) at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101) at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91) at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54) at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.run(EventFiringTaskExecuter.java:51) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309) at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:97) at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:46) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$ExecuteTaskAction.execute(DefaultTaskExecutionGraph.java:262) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$ExecuteTaskAction.execute(DefaultTaskExecutionGraph.java:246) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:136) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:130) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.execute(DefaultTaskPlanExecutor.java:201) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.executeWithTask(DefaultTaskPlanExecutor.java:192) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:130) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) Caused by: java.lang.NoSuchMethodError: com.google.common.collect.ImmutableList.builderWithExpectedSize(I)Lcom/google/common/collect/ImmutableList$Builder; at com.google.cloud.tools.jib.builder.EntrypointBuilder.makeEntrypoint(EntrypointBuilder.java:46) at com.google.cloud.tools.jib.builder.BuildSteps.getEntrypoint(BuildSteps.java:128) at com.google.cloud.tools.jib.builder.BuildSteps.lambda$forBuildToDockerRegistry$0(BuildSteps.java:85) at com.google.cloud.tools.jib.builder.BuildSteps.run(BuildSteps.java:197) at com.google.cloud.tools.jib.frontend.BuildStepsRunner.build(BuildStepsRunner.java:187) at com.google.cloud.tools.jib.gradle.BuildImageTask.buildImage(BuildImageTask.java:150) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:46) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26) at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:794) at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:761) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:131) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309) at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:97) at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:120) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:99) ... 30 more * Get more help at https://help.gradle.org Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0. See https://docs.gradle.org/4.8.1/userguide/command_line_interface.html#sec:command_line_warnings BUILD FAILED in 1s 11 actionable tasks: 2 executed, 9 up-to-date
Additional Information:
I’m using Kotlin. ./gradlew assemble
works.
Issue Analytics
- State:
- Created 5 years ago
- Comments:33 (25 by maintainers)
Top Results From Across the Web
com.google.common.collect.ImmutableList.toImmutableList ...
NoSuchMethodError : com.google.common.collect.ImmutableList.toImmutableList() ; 306) at org.openqa.selenium.remote.NewSessionPayload.create( ...
Read more >Solve issue “java.lang.NoSuchMethodError” com.google ...
lang.NoSuchMethodError” com.google.common.collect.ImmutableList. When I was trying to add these below dependencies for Gmail API access:
Read more >ImmutableList (Guava: Google Core Libraries for Java HEAD ...
Returns an immutable list containing the given elements, in order. static <E> ImmutableList<E>, copyOf(java.util.Collection<? extends E> ...
Read more >google/jib - Gitter
Caused by: java.lang.NoSuchMethodError: com.google.common.collect.ImmutableList.builderWithExpectedSize(I)Lcom/google/common/collect/ImmutableList$Builder; ...
Read more >Chrome driver execution failed with java.lang ... - OneCompiler
java.lang.NoSuchMethodError: com.google.common.collect.ImmutableList.toImmutableList()Ljava/util/stream/Collector; at org.openqa.selenium.chrome.
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
I’m currently running into the same issue. While overriding guava is a Gradle issue, I think it would still be great if the plugin could either eliminate the guava third-party dependency or shade it along the line of https://github.com/project-aries/docker-java-shaded to become standalone again and works regardless of what other plugins are in use.
I think jib may want to shade guava.