好的,我在我的JAVA_OPTIONS中添加一个参数,作为文档化的这里。然而,由于空间的原因,它无法工作。下面是我在UNIX脚本中使用的行(正如文档指定的那样):
JAVA_OPTIONS="-DFRAMEWORK_HOME=${app_home}/conf
-Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0
\"-Dcom.sun.jndi.ldap.connect.pool.protocol=plain ssl\""但我得到了以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError:
"-Dcom/sun/jndi/ldap/connect/pool/protocol=plain如果我做了protocol=plain 或 protocol=ssl,我可以轻松地做到这一点,但我真的需要它是“普通ssl”。
有人能帮忙吗?
发布于 2010-10-27 17:26:30
包含命令行选项的双引号,其中转义的双引号包围了属性值,有一个空格似乎是可行的。
$ export JAVA_OPTIONS="-Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0 \
-Dcom.sun.jndi.ldap.connect.pool.protocol=\"plain ssl\""
$ cat P.java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
public class P {
public static void main(String[] args) {
Enumeration<?> e = System.getProperties().propertyNames();
List<String> list = new ArrayList<String>();
while (e.hasMoreElements()) {
list.add((String) e.nextElement());
}
Collections.sort(list);
for (String key : list) {
System.out.println(key + "=" + System.getProperty(key));
}
}
}
$ javac -d ~/classes P.java
$ java -classpath ~/classes $JAVA_OPTIONS P | grep com.sun.jndi.ldap.connect.pool.protocol
com.sun.jndi.ldap.connect.pool.protocol=plain ssl发布于 2010-10-05 19:42:01
首先.我在想,不管是谁决定这个选项应该包括一个空白,都应该被Java警察打上法庭:-)。
既然是said...as,你说你的问题是空间。去掉这个的方法是把它用引号括起来。我还没试过这个,但你能试着把它改成:
JAVA_OPTIONS='-DFRAMEWORK_HOME=${app_home}/conf
-Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0
-Dcom.sun.jndi.ldap.connect.pool.protocol=\"plain ssl\"'https://stackoverflow.com/questions/3866965
复制相似问题