Package has following package-info.java:
@ParametersAreNonnullByDefault
package foo;
import javax.annotation.ParametersAreNonnullByDefault;
Class has the following method:
private static String toIsoString(@Nullable Instant dateTime) {
return dateTime == null ? null : dateTime.toString();
}
On which SonarQube (Version 6.2, SonarJava 4.14.0.11784) gives the following warning (squid:S2583):
How can I convince SonarQube that the code is actually correct?
Interestingly, SonarLint plugin (3.0.0.2041) in Idea doesn't generate the same warning.
Apparently, this problem was caused by us using sonar-scanner
without specifying sonar.java.libraries
. Since it's multimodule maven project it wasn't clear to us how to specify sonar.java.libraries
correctly.
Nicolas Peru, from SonarSource, suggested that we should use sonar maven plugin, instead of sonar-scanner
, as the plugin has access to build classpath of the project. Indeed that solved this problem for us.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With