我已经尝试了上述所有步骤,但均无济于事,直到在读取此线程https://community.oracle.com/thread/4009110之后用jdk-8u112(必须为32位
[当我尝试以任何方式启动它时,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相关的任何文件夹是否为“只读”。
如果尝试通过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提交了错误报告。您也应该这样做,或者在遇到此问题的同一错误报告中也听到您的声音。
新安装的Windows没有msvcrtXX.dlls
转到文件夹runtimes\\cdc-hi\\bin
并将Microsoft.VC80.CRT
复制到runtimes\\cldc-hi-javafx\\bin
。此问题将很快通过自动更新得到解决。
本地主机问题
请编辑<javamesdk_installdir>\\toolkit-lib\\modules\\bootstrap\\conf\\system.properties
并进行更改device-manager.object-registry.host=localhost
至:device-manager.object-registry.host=127.0.0.1
可能会占用端口1299
请编辑<javamesdk_installdir>\\toolkit-lib\\modules\\bootstrap\\conf\\system.properties
并进行更改device-manager.object-registry.port=1299
至:device-manager.object-registry.port=1999
XP 64位
请使用32位版本的JDK。
防火墙
请确保防火墙未阻止3中给出的端口上的通信。对于Windows,默认端口号是1299,对于Mac,默认端口号是1999。] >>
我已经尝试了上述所有步骤,但均无济于事,直到在读取此线程https://community.oracle.com/thread/4009110之后用jdk-8u112(必须为32位
我已经尝试了上述所有步骤,但均无济于事,直到在读取此线程https://community.oracle.com/thread/4009110之后用jdk-8u112(必须为32位