2013-02-20 41 views
0

我正在使用J9规范(wm50-arm-midp20_6.1.2.2)来运行在Windows Mobile上的java应用程序,并且遇到了需要创建文件。IBM J9规范将不允许从非自举类创建文件

我得到这条线在J9构造函数com.ibm.oti.connection.file.FileOutputStream

if (!com.ibm.oti.vm.VM.callerIsBootstrap()) 
     throw new SecurityException(); 

安全异常现在,大多数其他输出流类型的有辅助connection.java通过调用发送的类,但没有支持文件流实现的类。

要解决此问题,我期待需要编写自己的DLL文件并从java代码中调用它,但我想知道是否有人有此问题并能够解决此问题而无需致电一个本地dll。

在此先感谢! JR

+0

MIDP不适用于在浏览器内运行的Java applet吗?您绝不应允许文件访问小程序。 - 你不需要CDC或CDLC变体吗?请参阅prosyst和prosyst-store.com获取CDC CDLC java j9 VM(和试用版)。 – josef 2013-02-21 05:32:24

+0

不,这是一款移动应用程序,不是在浏览器中运行,而是直接在设备上运行。 – 2013-02-21 14:21:33

回答

0

我找到了我的答案。

要解决此问题,您需要访问文件系统的任何类必须位于J9文件夹下的ext文件夹中。

在我的情况下,我使用microlog作为我的日志记录解决方案,并正在寻找创建文件。我的应用程序jar不在ext文件夹中,所以我重新打包了一切,以便appender的java类位于ext文件夹中,以便它们被j9 jvm视为引导类。

如果有人有任何问题,请在评论中提问。

感谢所有看过这个的人。