私はOracleのJDK 1.8との単純なコードにコンパイルします:実行idea
作品、 内側しかし、もしそのコンパイル後JavaのNotNullはどこですか?
import com.sun.istack.internal.NotNull;
:
class Foo {
public static void test(@NotNull String a) {}
}
しかしidea
、このようなコードを理解し、追加することをお勧めしませんgradle
をビルドするとbuild.gradle
:
version '1.0-snaphshot_03.03.2017'
apply plugin: 'java'
targetCompatibility = '1.8'
sourceCompatibility = '1.8'
repositories {
mavenCentral()
}
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
}
artifacts {
archives sourcesJar
}
error: package com.sun.istack.internal does not exist
import com.sun.istack.internal.NotNull;
error: cannot find symbol
public static void test(@NotNull String a) {
^
symbol: class NotNull
location: class Foo
は私がNotNull
が1.8
に追加されたことを考えた:私はエラーを得ましたか? はどうすればidea
とgradle
にNotNull
の利用可能にすることができますか?
http://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-useを確認してください。私はそれが@NonNullだと思う。 – SachinSarawgi
'javax.annotation.Nonnull'を意味しますか? – QBrute
オプションを試してください。 –
MicD