如何在运行 Java 程序时将 jsse.enableSNIExtension 设置为 false?

mib*_*zer 2 java

我正在尝试将 Java 系统属性设置jsse.enableSNIExtensionfalse,但是当我尝试运行它时java只输出帮助信息:

java -Djsse.enableSNIExtension=false 
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Mic*_*zek 5

您忘记了要运行的类的名称。通常 Java 程序是这样运行的:

$ java MainClass
$ java -jar foobar.jar
Run Code Online (Sandbox Code Playgroud)

您可以使用-D来设置系统属性,但您仍然需要运行该类或 JAR:

$ java -Djsse.enableSNIExtension=false MainClass
$ java -Djsse.enableSNIExtension=false -jar foobar.jar
Run Code Online (Sandbox Code Playgroud)

据我所知,您不能永久设置系统属性;即使您以编程方式执行它也仅适用于该运行,因此-D每次运行任何不起作用的东西时,您都需要继续传递标志