如何隐藏 java 11 个 Nashorn 弃用警告
how to hide java 11 Nashorn deprecation warnings
我最近升级到 Java11。有 150 个新的 Nashorn 弃用警告:
Utils.java:31: warning: [removal] NashornScriptEngineFactory in jdk.nashorn.api.scripting has been deprecated and marked for removal
NashornScriptEngineFactory factory = new NashornScriptEngineFactory();
是否可以隐藏这些弃用警告?
我尝试过的:
tasks.withType(JavaCompile) {
options.compilerArgs += '-Xlint:-deprecation'
}
./gradlew build -Dnashorn.option.no.deprecation.warning=true
gradle-wrapper.properties: org.gradle.jvmargs= -Dnashorn.args=--no-deprecation-warning
以及
NashornScriptEngineFactory factory = new NashornScriptEngineFactory();
ENGINE = factory.getScriptEngine(new String[] {"--no-java --no-deprecation-warning"}, null, className -> false);
我相信 JDK-8210140 可能会提到类似的问题。
您看到的警告是由编译器发出的,--no-deprecation-warning
仅抑制在创建脚本引擎实例时发出的运行时警告"Warning: Nashorn engine is planned to be removed from a future JDK release"
。
您应该可以使用:
@SuppressWarnings("removal")
NashornScriptEngineFactory factory = new NashornScriptEngineFactory();
在源代码中完全禁止警告。
或以其他方式使用:
-Xlint:-removal
作为编译器参数。这将抑制警告,但您仍会收到每个文件的注释。
我最近升级到 Java11。有 150 个新的 Nashorn 弃用警告:
Utils.java:31: warning: [removal] NashornScriptEngineFactory in jdk.nashorn.api.scripting has been deprecated and marked for removal
NashornScriptEngineFactory factory = new NashornScriptEngineFactory();
是否可以隐藏这些弃用警告?
我尝试过的:
tasks.withType(JavaCompile) {
options.compilerArgs += '-Xlint:-deprecation'
}
./gradlew build -Dnashorn.option.no.deprecation.warning=true
gradle-wrapper.properties: org.gradle.jvmargs= -Dnashorn.args=--no-deprecation-warning
以及
NashornScriptEngineFactory factory = new NashornScriptEngineFactory();
ENGINE = factory.getScriptEngine(new String[] {"--no-java --no-deprecation-warning"}, null, className -> false);
我相信 JDK-8210140 可能会提到类似的问题。
您看到的警告是由编译器发出的,--no-deprecation-warning
仅抑制在创建脚本引擎实例时发出的运行时警告"Warning: Nashorn engine is planned to be removed from a future JDK release"
。
您应该可以使用:
@SuppressWarnings("removal")
NashornScriptEngineFactory factory = new NashornScriptEngineFactory();
在源代码中完全禁止警告。
或以其他方式使用:
-Xlint:-removal
作为编译器参数。这将抑制警告,但您仍会收到每个文件的注释。