質問
質問を見ました JSR305 vs.JSR308 (Java 型アノテーション) - どれが標準になるのでしょうか? と私は違いを理解しています JSR 308 そして JSR 305.
また、現時点では 308 は Java 7 に予定されており、305 は予定されていないことも理解しています。305 の全体的なステータスに興味があります。
具体的には、私が使用しているのは、 Google コレクション そして JSR-305 私のプロジェクトのいくつかでは(同じような方法で) Guice のベスト プラクティス支持者の 1 人)そして、代わりに使用すべき、より「将来の方向性」に優しいアプローチがあるかどうか疑問に思っていました。この件については、JSR-305 グループにも質問する予定ですが、そのグループはあまり活動していないので、ここで誰かが詳しい情報を持っているかどうか疑問に思っていました。
解決
この記事で説明されているように、 答え, JSR-305 次のような新しい注釈を提案します @NonNull, 、 その間 JSR-308 ジェネリック宣言などの新しい場所でアノテーションを許可することを提案しています。
引用 JSR 308 ページ:
…このドキュメントでは、アノテーションを提案するものではなく、単に Java コード内でアノテーションを使用できる場所を指定するだけです。
JSR 308 (新しい場所のアノテーション) が含まれています ジャバ8 下 JEP104.
2017年現在、 JSR 305 (新しい注釈) は引き続き「休止中」の公式ステータスを保持します。あ 質問 Google グループ内でのステータスについては 2010 年以来回答がありません。
JSR-305 アノテーションのリファレンス実装があります。 ここ これは、guava を含む多くのプロジェクトで使用されています。Maven を使用すると、これを pom に追加することで JSR-305 リファレンス実装を使用できます。
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.0</version>
</dependency>
他のヒント
JSR 305 は Java 8 の一部ではありません。
- Java8は 2014 年 3 月 18 日に予定されています.
- JSR 305 2014 年 3 月 5 日現在、休眠状態が続いています。.
Java 8 は JSR 337 で説明されています。仕様は最終ステータスに達しました: ここを参照してください.
- JSR 308は間違いなく入っています
- JSR 305は間違いなくリリースされる
アレックスミラーズによればのJava 7ブログで、JSR-308(および305)が予定されていますおそらく、彼はここに表示し、あなたのより多くの情報を提供するJava 7にして行くます。