使用 Java_OPTS 启动 Java
Launching Java With Java_OPTS
这应该是一个非常简单的问题,我不敢相信我无法通过谷歌搜索找到任何东西。
我正在使用 powershell,我正在尝试从命令行 运行 java 应用程序:
$memory = "-Xms128m -Xmx1028m -XX:MaxPermSize=512m"
$ssl = "-Djavax.rmi.ssl.client.enabledProtocols=`"TLSv1`" -Djavax.rmi.ssl.client.enabledCipherSuites=`"_removed_`" -Djavax.net.ssl.trustStorePassword=`"_removed_`" -Djavax.net.ssl.trustStore=`"_removed_`" -Djavax.net.ssl.keyStorePassword=`"_removed_`" -Djavax.net.ssl.keyStore=`"_removed_`" -Djava.endorsed.dirs=`"$($ddmsLoc)tomcat6\endorsed`""
$classpath = getClasspath "manager" $null
$java_opts = "$($memory) $($ssl) -Djavax.net.debug=all"
$cmd = "$($java) $($java_opts) -cp `"$($classpath)`" dss.vector.solutions.manager.server.ServerStatus -g"
Invoke-Expression $cmd
但出于某种原因,它认为我的 JAVA_OPTS 参数是 java class 的名称,我是 运行ning:
Caused by: java.lang.ClassNotFoundException: .rmi.ssl.client.enabledProtocols=TLSv1
我试过:
- ssl 选项 with/without 引用值
- 实际设置 JAVA_OPTS 环境变量,直到我在其他地方读到 JVM 从未读取该变量。
- 用更多引号将它们包裹起来
我有点不知所措。
Etan Reisner 发表了一条帮助我解决问题的评论:
Windows(出于某种原因)将参数分成两半。
echo -Dmy.param=value
returns:
-Dmy
.param=value
如果参数用引号引起来,例如:
echo "-Dmy.param=value"
然后就可以正常工作了。
这应该是一个非常简单的问题,我不敢相信我无法通过谷歌搜索找到任何东西。
我正在使用 powershell,我正在尝试从命令行 运行 java 应用程序:
$memory = "-Xms128m -Xmx1028m -XX:MaxPermSize=512m"
$ssl = "-Djavax.rmi.ssl.client.enabledProtocols=`"TLSv1`" -Djavax.rmi.ssl.client.enabledCipherSuites=`"_removed_`" -Djavax.net.ssl.trustStorePassword=`"_removed_`" -Djavax.net.ssl.trustStore=`"_removed_`" -Djavax.net.ssl.keyStorePassword=`"_removed_`" -Djavax.net.ssl.keyStore=`"_removed_`" -Djava.endorsed.dirs=`"$($ddmsLoc)tomcat6\endorsed`""
$classpath = getClasspath "manager" $null
$java_opts = "$($memory) $($ssl) -Djavax.net.debug=all"
$cmd = "$($java) $($java_opts) -cp `"$($classpath)`" dss.vector.solutions.manager.server.ServerStatus -g"
Invoke-Expression $cmd
但出于某种原因,它认为我的 JAVA_OPTS 参数是 java class 的名称,我是 运行ning:
Caused by: java.lang.ClassNotFoundException: .rmi.ssl.client.enabledProtocols=TLSv1
我试过:
- ssl 选项 with/without 引用值
- 实际设置 JAVA_OPTS 环境变量,直到我在其他地方读到 JVM 从未读取该变量。
- 用更多引号将它们包裹起来
我有点不知所措。
Etan Reisner 发表了一条帮助我解决问题的评论:
Windows(出于某种原因)将参数分成两半。
echo -Dmy.param=value
returns:
-Dmy
.param=value
如果参数用引号引起来,例如:
echo "-Dmy.param=value"
然后就可以正常工作了。