【发布时间】:2015-04-29 08:15:24
【问题描述】:
这应该是一个非常简单的问题,我不敢相信我无法通过谷歌搜索找到任何东西。
我正在使用 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 类的名称:
Caused by: java.lang.ClassNotFoundException: .rmi.ssl.client.enabledProtocols=TLSv1
我试过了:
- 值周围有/无引号的 ssl 选项
- 实际上是设置 JAVA_OPTS 环境变量,直到我在其他地方读到 JVM 从未读取过该变量。
- 用更多引号括起来
我有点不知所措。
【问题讨论】:
-
尝试使用简单的 java opt 并将其分配给 $ssl 并查看它是否有效。问题也可能出在脚本的其他部分。
标签: java windows powershell environment-variables