我使用的是J9规范(wm50-arm-midp20_6.1.2.2),这是一个在windows mobile上运行的java应用程序,在创建文件时遇到了问题。
我从com.ibm.oti.connection.file.FileOutputStream的J9构造函数中的这一行得到了一个安全异常
if (!com.ibm.oti.vm.VM.callerIsBootstrap())
throw new SecurityException();现在,大多数其他输出流类型都有一个支持调用的connection.java类,但是没有一个支持文件流实现的类。
为了解决这个问题,我预计需要编写我自己的dll文件并从java代码中调用它,但我想知道是否有人遇到过这个问题,并且能够在不调用本机DLL的情况下解决它。
提前感谢!JR
发布于 2013-02-21 22:27:18
我找到了我的答案。
要解决此问题,访问文件系统所需的任何类都必须位于J9文件夹下的ext文件夹中。
在我的例子中,我使用microlog作为我的日志记录解决方案,并希望创建文件。我的应用程序jar不在ext文件夹中,所以我重新打包了所有内容,以便附加器的java类位于ext文件夹中,以便它们被j9 jvm视为引导程序类。
如果任何人有任何问题,请在评论中提出。
感谢所有看过这篇文章的人。
https://stackoverflow.com/questions/14987425
复制相似问题