【问题标题】:Force java applet to run in 32-bit instead of 64-bit JRE强制 java applet 在 32 位而不是 64 位 JRE 中运行
【发布时间】:2014-06-30 19:14:24
【问题描述】:

我有一个在 32 位 JDK (1.5) 下设计的 Java 小程序。在新的 MacOS (10.7) 上部署它时,它运行不正确 - 因为在此系统中默认首选 64 位 JRE(有两个可供选择,32 位和 64 位)。如果首选顺序首先更改为 32 位,一切正常 - 但这不是解决方案,因为更改客户端计算机上的设置很不方便。对于独立的应用程序包,它可以通过 info.plist 中的适当设置进行修复,只需指定应用程序架构。

那么,有没有办法在启动小程序时做同样的事情 - 指定 i386 架构、强制浏览器运行 32 位 JRE、强制 JVM 以 32 位工作,或者其他什么?

目前我只找到了如何为小程序指定 JRE 版本/系列,它没有帮助。我正在尝试使用以下代码启动一个小程序:

<object
classid="clsid:CAFEEFAC-0015-0000-FFFF-ABCDEFFEDCBA"
width="740" height="400"
codetype = "application/x-java-applet;version=1.5"
>
<param name="code" value = "ca/lcsi/Program/App/LogoFrameApplet.class"> 
<param name="archive" value="webplayer.jar">
<param name="project" value="testpath.tsfp"> 
<param name="lang" value="en">
    <embed 
    type="application/x-java-applet;version=1.5" 
    code="ca/lcsi/Program/App/LogoFrameApplet.class"
    archive = "webplayer.jar"
    project = "testpath.tsfp"
    lang = "en"
    width="740" height="400"
    >
</object>

非常感谢您的建议!

【问题讨论】:

  • 2 个问题:为什么它运行不正确以及为什么您认为它与 JRE 有关?
  • 1) 为什么?我不知道。据我所知,程序不使用任何本机库。 2) 正如我所说,如果我在客户端机器上选择另一个(32 位)JRE 作为首选,它运行良好。
  • 您能否发布一些有关错误的详细信息以便我们为您提供帮助?
  • 它运行正常,只是有一些错误。抱歉,我不认为我会那样做——我不需要一个工作的 64 位小程序,至少现在是这样,所以以 32 位运行它比尝试解决一个错误更便宜(仅发现一个,可能还有更多)。我需要的是传递给启动小程序以使其以 32 位 JRE 启动的密钥或属性。
  • 如果你坚持,错误是:当启动内部进程两次(从两个控件)时,它停止响应,而不是停止前一个实例并启动新实例。

标签: java applet


【解决方案1】:

所以,如果有人感兴趣的话,问题就解决了。

对于小程序,这是不可能的。可以使用 Java Web Start 以 32 位模式启动 JVM。但是在当前(Java SE 6)实现中,JWS 不如小程序方便,因为配置文件中有一个绝对的“代码库”字段,这限制了小程序/应用程序的部署。

似乎问题出在 JRE 实现中 - 我的程序确实具有非常有限的系统特定部分,并且没有部分依赖于位数。将继续测试,以本地化错误报告的问题:)

【讨论】:

  • 有关 JWS 的整体信息,您可以查看官方文档:docs.oracle.com/javase/tutorial/deployment/webstart/… 如何在 32 位中启动 JVM:在 jnlp 文件中的标签 内写入 java-vm-args="-d32":like &lt;j2se version="1.6+" java-vm-args="-d32" href="http://java.sun.com/products/autodl/j2se"/&gt;
猜你喜欢
  • 2013-11-24
  • 2012-12-03
  • 2013-06-21
  • 2018-03-04
  • 1970-01-01
  • 2011-03-10
  • 1970-01-01
  • 1970-01-01
  • 2011-06-26
相关资源
最近更新 更多