StringIndexOutOfBoundExcpetion并且无法在MAC OS中启动JNLP

时间:2013-02-19 05:41:00

标签: java string java-7 jnlp java-web-start

在我的应用程序的JNLP文件中,我在JNLP java-vm-args参数中指定了PermGenSize。 将我的MAC上的Java升级到Java7u13后,JNLP无法使用java-vm-args params启动。 如果我删除了java-vm-args参数,一切正常。

我的java-vm-args参数是java-vm-args =“ - XX:MaxPermSize = 128m”

这是Java 7问题吗?我也可以在solaris中重现上述问题。

在失败期间,我在跟踪文件中看到以下异常:

 Log started: Tue, 19 Feb 2013 11:02:41 +0530
java.lang.StringIndexOutOfBoundsException: String index out of range: -8
        at java.lang.String.substring(String.java:1911)
        at com.sun.deploy.util.Property.<init>(Unknown Source)
        at com.sun.deploy.util.Property.createProperty(Unknown Source)
        at com.sun.deploy.util.JVMParameters$ArgumentSet.addArgument(Unknown Source)
        at com.sun.deploy.util.JVMParameters.addArgumentImpl(Unknown Source)
        at com.sun.deploy.util.JVMParameters.parseImpl(Unknown Source)
        at com.sun.deploy.util.JVMParameters.parseTrustedOptions(Unknown Source)
        at com.sun.javaws.Main.initializeExecutionEnvironment(Unknown Source)
        at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
        at com.sun.javaws.Main.access$000(Unknown Source)
        at com.sun.javaws.Main$1.run(Unknown Source)
        at java.lang.Thread.run(Thread.java:722)

1 个答案:

答案 0 :(得分:0)

Permgen将在未来版本中消失。从参数列表中删除XX:MaxPermSize并重新运行应用程序。