2014-02-18 11 views
8

Guava README sagt, dass @Beta oder veraltet, dass geändert werden kann, entfernt etc. Es sagt nicht klar, ob alle verbleibenden Klassen binär kompatibel mit früheren Versionen sind (oder ich es falsch gelesen). Obwohl ich das Gefühl habe, dass es abwärtskompatibel ist, wenn nicht anders angegeben.Ist Guava binär kompatibel mit früheren Versionen?

Mein Anliegen ist, dass einige andere Bibliothek möglicherweise gegen neue Guava-Version arbeiten (und kompilieren Sie auch). Es könnte aber auch auf ein fehlerhaftes Verhalten zurückzuführen sein, dass die neue Version möglicherweise geändert/repariert wurde, was nicht einfach erkannt werden kann. Kann ich sicher upgraden?

+0

Wenn Sie eine nicht '@ Beta' Klasse verwenden, sollte es keine Probleme geben. – fge

Antwort

8

Wir haben die Binär- und Quellenkompatibilität für alle non @ Beta-APIs mit jeder Version beibehalten, mit der Ausnahme, dass Methoden entfernt wurden, die bereits mindestens 18 Monate lang veraltet waren. Wir werden diesen Standard fortsetzen, obwohl wir damit beginnen, die Möglichkeit anzuerkennen, dass der JDK 8-Übergang uns in dieser Hinsicht beispiellose Herausforderungen bereiten wird, und wir möglicherweise gezwungen werden, ein leicht inkompatibles Upgrade-Ereignis zu erzwingen die Zukunft. Ich hoffe weiterhin, dass es nicht notwendig sein wird.

+1

Warum Guava beschließt, Methoden zu entfernen, verfallene Methoden zu entfernen? Selbst JDK macht das nicht. Was treibt diese Entscheidung an? – zinking

Verwandte Themen