Javaws开始错误的JVM



我使用debian。我已经使用http://ppa.launchpad.net/webupd8team/java/java/ubuntu。

我运行了一个使用Java 6的应用程序。File.pl包含这样的部分:

<resources>
<j2se version="1.6.0+" href="http://java.sun.com/products/autodl/j2se" 
initial-heap-size="128M" max-heap-size="400M"/>

我从Java 6文件夹中调用Javaws。我看到飞溅了一段时间并停止(我在控制台上得到提示,没有其他任何事情发生)。我已经调整了ENV变量,以确保问题不存在。一些细节:

➜  java-6-oracle set | grep jvm
DERBY_HOME=/usr/lib/jvm/java-6-oracle/db
J2REDIR=/usr/lib/jvm/java-6-oracle/jre
J2SDKDIR=/usr/lib/jvm/java-6-oracle
JAVA_HOME=/usr/lib/jvm/java-6-oracle
OLDPWD=/usr/lib/jvm/java-6-oracle/jre
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/lib/jvm/java-6-oracle/bin:/usr/lib/jvm/java-6-oracle/db/bin:/usr/lib/jvm/java-6-oracle/jre/bin
PWD=/usr/lib/jvm/java-6-oracle
path=( /usr/local/bin /usr/bin /bin /usr/local/games /usr/games /usr/lib/jvm/java-6-oracle/bin /usr/lib/jvm/java-6-oracle/db/bin /usr/lib/jvm/java-6-oracle/jre/bin )
➜  java-6-oracle ./jre/javaws/javaws -verbose ~/file.pl
Java(TM) Web Start 1.6.0_45 Launching: /usr/lib/jvm/java-8-oracle/jre/bin/java
/usr/lib/jvm/java-8-oracle/jre/bin/java
 -Xbootclasspath/a:/usr/lib/jvm/java-6-oracle/jre/lib/javaws.jar:/usr/lib/jvm/java-6-oracle/jre/lib/deploy.jar:/usr/lib/jvm/java-6-oracle/jre/lib/plugin.jar
 -classpath
 /usr/lib/jvm/java-6-oracle/jre/lib/deploy.jar
 -Djava.security.policy=file:/usr/lib/jvm/java-6-oracle/jre/lib/security/javaws.policy
 -DtrustProxy=true
 -Xverify:remote
 -Djnlpx.home=/usr/lib/jvm/java-6-oracle/jre/bin
 -Dsun.awt.warmup=true
 -Djnlpx.origFilenameArg=/home/me/file.pl
 -Djnlpx.remove=true
 -Djnlpx.splashport=38511
 -Djnlpx.jvm=/usr/lib/jvm/java-8-oracle/jre/bin/java
 com.sun.javaws.Main
 /tmp/javawMxZTga

我看到Incorect JVM版本被调用。为什么这样?

编辑:这不是WebStart的重复,因为JRE的错误版本我不会使用浏览器运行该程序。我的两个Javas均为64位。

问题是这个丑陋的J2SE版本标签。它定义了参数用于某个JVM版本,但也完全允许哪些版本。您定义了1.6.0 ,该1.6.0 允许Java 6.如果要将其限制为1.6,则可以使用" 1.6*"。

另请参见如何指定JNLP文件中的JRE范围?

最新更新