Some Guava features were really useful for Java 7 application because Guava was bringing APIs missing in the JDK. Java 8 fixed these limitations. When migrating an application to Java 8 or even when starting a new one, it's recommended to prefer Java 8 APIs over Guava ones to ease its maintenance: developers don't need to learn how to use two APIs and can stick to the standard one.

This rule raises an issue when the following Guava APIs are used:

Guava API Java 8 API
com.google.common.io.BaseEncoding#base64() java.util.Base64
com.google.common.io.BaseEncoding#base64Url() java.util.Base64
com.google.common.base.Joiner.on() java.lang.String#join() or java.util.stream.Collectors#joining()
com.google.common.base.Optional#of() java.util.Optional#of()
com.google.common.base.Optional#absent() java.util.Optional#empty()
com.google.common.base.Optional#fromNullable() java.util.Optional#ofNullable()
com.google.common.base.Optional java.util.Optional
com.google.common.base.Predicate java.util.function.Predicate
com.google.common.base.Function java.util.function.Function
com.google.common.base.Supplier java.util.function.Supplier
com.google.common.io.Files.createTempDir java.nio.file.Files.createTempDirectory