Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaMeSDK3.2(以及3.3、3.0)刚刚赢得';开始_Java_Mobile_Emulation - Fatal编程技术网

JavaMeSDK3.2(以及3.3、3.0)刚刚赢得';开始

JavaMeSDK3.2(以及3.3、3.0)刚刚赢得';开始,java,mobile,emulation,Java,Mobile,Emulation,当我尝试以任何方式启动它时,JavaMe都会冻结。更具体地说,device-manager.exe调用的javaw.exe似乎进入无限循环,因为没有传递任何异常或错误消息。托盘中的图标出现,但其菜单(而不是设备列表)只显示一个条目:退出,顺便说一句,它不起作用。我只能通过任务管理器关闭它。由于emulator需要设备管理器,所以我根本无法使用它。 我尝试了JavaMeSDK的3.0、3.2、3.3版本,但每个版本都存在这个问题。操作系统:Windows7。JDK:7u25 我在网上找到的每一条建

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

我在网上找到的每一条建议都试过了,但还是没能奏效。设备管理器日志显示,在调用“rmiRegistryPortFile”时开始出现问题

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

我只有一种方法可以让它工作——在Windows虚拟PC下安装并运行它。奇怪的是,在VM下,它在相同的操作系统(新安装的Windows 7)中工作得很好。但不幸的是,这并没有真正说明错误的原因,这不是一个解决方案:(我必须在没有虚拟机的情况下让它工作)

我尝试重新安装Windows,但没有帮助。在Process Monitor中查看了javaw I/O,并将其与正常运行的进行了比较。在读取文件“rt.jar”(我想是在加载“rmiRegistryPortFile”时)后,其中一个应用程序线程似乎突然关闭了,而工作javaw会立即写入日志文件。Windows日志对此主题没有任何内容:没有权限问题,当时没有错误或警告。 尝试使用rmiregistry.exe将PATH变量修改为目录,但没有帮助。网络套接字可用。已更改DEP设置,相同


有人可以帮忙吗?我已经花了好几天时间研究这个bug。

这肯定是权限问题。请尝试查看是否有任何与Java相关的文件夹是“只读”的。

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

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

<javame-install-dir>\runtimes\cldc-hi-javafx\bin\runMidlet.exe
\runtimes\cldc hi javafx\bin\runMidlet.exe
如果现在一切正常,就大声向Sun(现在的Oracle)抱怨,他们需要制作没有缓冲区溢出的软件

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

  • 新安装的windows没有msvcrtXX.dll

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

  • 本地主机的问题

    请编辑
    \\toolkit lib\\modules\\bootstrap\\conf\\system.properties
    并更改
    device manager.object registry.host=localhost
    to:
    device manager.object registry.host=127.0.0.1

  • 1299端口可能被占用

    请编辑
    \\toolkit lib\\modules\\bootstrap\\conf\\system.properties
    并更改
    device manager.object registry.port=1299
    to:
    device manager.object registry.port=1999

  • XP 64位

    请使用32位版本的JDK

  • 防火墙

    确保防火墙未阻止3中给出的端口上的通信。windows的默认端口号为1299,Mac的默认端口号为1999


  • 我尝试了上述所有步骤,但都无济于事,直到我用JDK-8u112替换了我的JDK JDK-8u117(必须是32位)阅读此线程后,我必须在更改Java版本后重新启动我的计算机,因为安装后它无法立即检测到。我正在使用Netbeans 7.4。

    哇,你刚刚做了所有事情,我认为这与网络问题有关,请尝试禁用防火墙并像管理员模式那样运行设备管理器。否pe不起作用。如果我尝试为javaw.exe打开管理员模式,它根本不会启动。我真的很抱歉,我真的很好奇,我想的最后一个可能是权限集,可能是某些权限已经被拒绝了。伙计,它启动了!我将javaw.exe设置为与Windows XP兼容的模式(更高版本不起作用),启动时没有冻结。但仍然无法工作-emulator windows未显示,并且托盘图标菜单中的设备列表为空。但几天后,我们取得了进展:)你说得对,这一定是权限问题。谢谢你的回复。谢谢你的建议。完全取消了JDK、ME SDK和C:\Users中所有临时文件夹的只读标志。但是不,一旦我关闭兼容模式,设备管理器就会再次疯狂。好吧,不管怎么说,问题差不多解决了。Emulator从昨天开始重新启动PC后开始正常工作(即使任务栏菜单仍然为空)。NetBeans成功识别了ME平台,编译并运行代码。
    <javame-install-dir>\runtimes\cldc-hi-javafx\bin\runMidlet.exe