运行 一个 java 在带有 JVM 参数的 jar 应用程序中

Run a java in jar application with JVM parameter

我正在开发 Java 应用程序。当我尝试使用命令 运行 应用程序的打包版本时:

java -Djdk.tls.client.protocols=TLSv1.2 -jar .\target\filesharing-0.0.1-SNAPSHOT.jar

我收到以下错误:

java.lang.ClassNotFoundException: /tls/client/protocols=TLSv1/2

我正在使用 OpenJDK11,我认为语法是正确的。我错了什么? 提前谢谢你。

对于未来的搜索者,Powershell 要求命令行参数包含要引用的句点(句号)字符。所以在这种情况下,命令应该是:

java "-Djdk.tls.client.protocols=TLSv1.2" -jar .\target\filesharing-0.0.1-SNAPSHOT.jar

任何 -D 类型的参数都应该用双引号引起来。

如果您不使用 Powershell 而是使用 cmd,请将 -D 的值用双引号括起来:

java -Djdk.tls.client.protocols="TLSv1.2" -jar .\target\filesharing-0.0.1-SNAPSHOT.jar