このプロジェクトについて

GuavaはGoogleのコアJavaライブラリセットです。マルチマップやマルチセットなどの新しいコレクション型、不変コレクション、グラフライブラリ、並行処理、I/O、ハッシュ、プリミティブ、文字列などのユーティリティを提供します。READMEによると、Google内のほとんどのJavaプロジェクトおよび多くの他の企業でも広く使用されています。 Guavaには2種類のフレーバーがあります。JREフレーバーはJDK 1.8以上が必要です。Androidサポートのために、リポジトリのandroidディレクトリにソースがあるAndroidフレーバーが用意されています。 ビルドにGuavaを追加する方法:Mavenのgroup IDはcom.google.guavaで、artifact IDはguavaです。2つのフレーバーはMavenのバージョンフィールドで33.7.1-jreまたは33.7.1-androidとして指定します。READMEにはMavenとGradleの依存関係スニペットが掲載されており、Gradleにおいてapiとimplementationを使い分けるタイミングについてのガイダンスも含まれています。 masterブランチからビルドされたスナップショットは、Maven経由でバージョン999.0.0-HEAD-jre-SNAPSHOT(またはAndroidフレーバーの場合は999.0.0-HEAD-android-SNAPSHOT)で利用できます。スナップショットのAPI JavadocとAPI diffも提供されています。Javadocはguava.dev/apiで参照でき、特定のクラスはその名前をguava.devに追加することで開けます。 学習リソースにはユーザーガイド、Guava Explained、その他の役立つリンク集があります。プロジェクトはGitHubプロジェクト、イシュートラッカー、StackOverflowタグ、およびguava-announceとguava-discussのGoogleグループへリンクしています。 READMEには重要な警告が記載されています。クラスまたはメソッドレベルで@Betaアノテーションが付いたAPIは変更される可能性があり、いつでも変更または削除されることがあります。ライブラリ作者は、それらを再パッケージしない限りベータAPIを使用すべきではなく、Guava Beta Checkerの使用が推奨されます。@Betaが付いていないAPIは無期限にバイナリ互換性を保つと表明されており、@DeprecatedのAPIでも@Betaでなければ残り続けます。Guavaは実行時のリンクに必要な依存関係としてcom.google.guava:failureaccess:1.0.3を1つ持ち、さらにアノテーション専用の依存関係があります。すべてのオブジェクトのシリアライズ形式は特に注記がない限り変更される可能性があるため、将来のバージョンが読み取れると仮定して永続化すべきではありません。これらのクラスは悪意のある呼び出し元からの保護を目的として設計されておらず、信頼できるコードと信頼できないコード間の通信には使用すべきではありません。メインラインフレーバーについては、LinuxとWindows上のさまざまなOpenJDKバージョンでライブラリがテストされており、特にcom.google.common.ioの機能は非Linux環境では正常に動作しない可能性があります。Androidフレーバーについては、APIレベル24(Nougat)でもユニットテストが実行されます。