Warum muss ich hinzufügen Artefakt JSR305 zu verwenden, Guave 14+?

Während der Suche nach Informationen auf stackoverflow habe ich eine Frage ähnlich wie meine, aber keine wirkliche Antwort hier.

Muss ich die Migration meiner maven-Projekt aus Guave 11.0.2 zu Guave 14 oder höher (ich brauche RangeSet). Ich aktualisierte mein maven-pom mit der Abhängigkeit:

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>14.0</version>
</dependency>

Ich dann die maven-build, und habe diesen Fehler:

[ERROR] xxx.java: cannot find symbol
[ERROR] symbol  : class Nonnull
[ERROR] location: package javax.annotation

Nahm ich einen Blick näher, und diese Anmerkungen mit JSR305, auf dem hängt Guave 11.0.2, als mvn-repository berichten.

Was ich seltsam finden ist, dass Guave 14 hängt auch davon ab, JSR305 als mvn-repository berichten.

Wenn ich die JSR-Abhängigkeit zu meinem pom, dann ist die Zusammenstellung gerade gut läuft:

<dependency>
    <groupId>com.google.code.findbugs</groupId>
    <artifactId>jsr305</artifactId>
    <version>1.3.9</version>
    <scope>provided</scope>
</dependency>

Aber warum hätte ich hinzufügen müssen, um diese Abhängigkeit zu meinem pom, wenn Guave bereits hängt es ? Das sieht mehr ein workaround als eine Lösung, und ich würde es vorziehen, zu verstehen und die Dinge sauber.

Vielen Dank für die Teilnahme.

  • Ich scheine zu erinnern, dass dies ist notwendig, wenn mit der Scala-compiler ist, dass dein setup?
  • Speziell, stackoverflow.com/questions/10007994/...
  • Das ist nicht mein setup, da ich ein java-Projekt. Aber das Thema ist sehr nah an mir...
Schreibe einen Kommentar