Java ME SDK 3.2(以及3.3和3.0)也不会启动

问题描述 投票:0回答:3

[当我尝试以任何方式启动它时,Java ME都会冻结。更具体地说,device-manager.exe调用的javaw.exe似乎进入了无限循环,因为没有传递任何异常或错误消息。出现托盘中的图标,但其菜单而不是设备列表仅显示一个条目:Exit(退出),该菜单不起作用。我只能通过任务管理器将其关闭。而且由于模拟器需要设备管理器,所以我根本无法使用它。我尝试了Java ME SDK的3.0、3.2、3.3版本,每个问题仍然存在。操作系统:Windows7。JDK:7u25。

我已经尝试过在互联网上找到的每条建议,但仍然无法正常工作。设备管理器日志显示问题始于调用“ rmiRegistryPortFile”。

[2013-07-02 19:20:53.070]  DEBUG - strap.BasicObjectConfiguration - Calling create on rmiRegistryPortFile 

这始终是日志中的最后一个条目。

我只有一种设法使其运行的方法-通过在Windows Virtual PC上安装和运行它。奇怪的是,在VM下,它可以在同一操作系统(新安装的Windows 7)上正常工作。不幸的是,这并没有真正说明该错误的原因,而且这不是解决方案:(我必须以某种方式使其在没有VM的情况下工作。

我尝试重新安装Windows,但没有帮助。在Process Monitor中查看了javaw I / O,并将其与正常工作的I / O进行了比较。看起来其中一个应用程序线程在读取文件“ rt.jar”后突然关闭(我猜是在加载“ rmiRegistryPortFile”时?),而工作中的javaw之后立即写入日志文件。 Windows日志对此一无所获:没有权限问题,当时没有错误或警告。尝试使用rmiregistry.exe将PATH变量修改为目录,但无济于事。网络插座可用。更改的DEP设置相同。

有人可以帮忙吗?我已经花了几天时间解决这个错误。

java mobile emulation
3个回答
0
投票

这绝对是权限问题。尝试查看与Java相关的任何文件夹是否为“只读”。


0
投票

如果尝试通过JavaME SDK 3.0的内置仿真器运行Midlet时收到此错误消息,请尝试为runMidlet.exe禁用DEP。可以在Windows中的以下位置找到数据执行保护(DEP)配置:“控制面板”>“系统安全性”>“系统”>“高级系统设置”>“高级”选项卡>“性能”>“数据执行保护”。

将此文件添加到DEP排除列表:

<javame-install-dir>\runtimes\cldc-hi-javafx\bin\runMidlet.exe

如果现在一切正常,请向Sun(现在的Oracle)大声抱怨他们需要制作没有缓冲区溢出的软件。

我个人针对JavaME SDK 3.0提交了错误报告。您也应该这样做,或者在遇到此问题的同一错误报告中也听到您的声音。

  1. 新安装的Windows没有msvcrtXX.dlls

    转到文件夹runtimes\\cdc-hi\\bin并将Microsoft.VC80.CRT复制到runtimes\\cldc-hi-javafx\\bin。此问题将很快通过自动更新得到解决。

  2. 本地主机问题

    请编辑<javamesdk_installdir>\\toolkit-lib\\modules\\bootstrap\\conf\\system.properties并进行更改device-manager.object-registry.host=localhost至:device-manager.object-registry.host=127.0.0.1

  3. 可能会占用端口1299

    请编辑<javamesdk_installdir>\\toolkit-lib\\modules\\bootstrap\\conf\\system.properties并进行更改device-manager.object-registry.port=1299至:device-manager.object-registry.port=1999

  4. XP 64位

    请使用32位版本的JDK。

  5. 防火墙

    请确保防火墙未阻止3中给出的端口上的通信。对于Windows,默认端口号是1299,对于Mac,默认端口号是1999。] >>

我已经尝试了上述所有步骤,但均无济于事,直到在读取此线程https://community.oracle.com/thread/4009110之后用jdk-8u112(必须为32位

替换了我的JDK jdk-8u117)。更改Java版本后,我必须重新启动计算机,因为安装后未立即检测到。我正在使用Netbeans 7.4。

0
投票

我已经尝试了上述所有步骤,但均无济于事,直到在读取此线程https://community.oracle.com/thread/4009110之后用jdk-8u112(必须为32位

© www.soinside.com 2019 - 2024. All rights reserved.