2016-03-29 12 views

答えて

1

はい...並べ替え。型の注釈はJava 8で導入されているため、Java 7ではまったく動作しません。たとえば、OpenJDK 308の実装は、OpenJDK 8 JDKにあります。だからあなたはそれを使うことはできません。

しかし、Java 7の型注釈をコメントアウトすることができますが、それでも使用することができますが、これを回避するチェッカーフレームワークを使用することができます。セットアップはhereと記載されています。 「Javaの7プロジェクト」、私はあなたが「Javaの7コンパイラを使ってコンパイルすることができますプロジェクト」を意味すると仮定することにより

<dependency> 
    <groupId>org.checkerframework</groupId> 
    <artifactId>checker</artifactId> 
    <version>1.9.12</version> 
</dependency> 
+0

ありがとうございました。私はそれを確認します。 – Aure77

0

:あなたは、次のMavenの依存関係が必要になります。型の注釈はJava 8の機能です。たとえば、lambdaのようなものを使用すれば、標準のJava 7コンパイラでコードをコンパイルすることはできません。

List</*@NonNull*/ String>のようなタイプの注釈written in commentsを読み取る特別なコンパイラ、type annotations compilerがあります。このようなファイルを通常のJava 7コンパイラでコンパイルすると、コンパイラはコメントを無視します。これはあなたのコードが両方の型の注釈を使用し、Java 7と互換性がある方法です。

Checker Frameworkは、特殊なコンパイラと注釈プロセッサーをパッケージ化しています。これは、正しくない@NonNull注釈とコード内で可能なヌルポインタ例外について警告します。 annotations in commentsのディスカッションを見ることができます。

Maven integration for the Checker Frameworkがあります。 Java 7の方向性を選択したいと思うでしょう。