将项目移动到新计算机后启动模拟器时出错

时间:2017-11-02 22:43:57

标签: codenameone

我刚刚将Eclipse中的Codenameone项目移植到新的MacBook上。当我启动模拟器时,在eclipse的控制台中显示错误。因此,新安装的皮肤将不会被存储,并且会在下次启动模拟器时消失。

这是错误的堆栈跟踪。你有什么想法,原因是什么?也许存在一些在新款MacBook上无法匹配的模式?

java.util.prefs.BackingStoreException: Synchronization failed for node '/com/codename1/impl/javase/'
    at java.util.prefs.MacOSXPreferences.flush(MacOSXPreferences.java:226)
    at com.codename1.impl.javase.JavaSEPort.addSkinName(JavaSEPort.java:3425)
    at com.codename1.impl.javase.JavaSEPort.loadSkinFile(JavaSEPort.java:3517)
    at com.codename1.impl.javase.JavaSEPort.init(JavaSEPort.java:3673)
    at com.codename1.impl.CodenameOneImplementation.initImpl(CodenameOneImplementation.java:169)
    at com.codename1.ui.Display.init(Display.java:478)
    at com.codename1.impl.javase.Executor$1.run(Executor.java:112)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:749)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:702)
    at java.awt.EventQueue$3.run(EventQueue.java:696)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:719)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

1 个答案:

答案 0 :(得分:0)

这是Java SE首选项API的一个例外,请参阅此Where are Java preferences stored on Mac OS X?

检查Mac OS上的用户是否具有访问该文件夹的权限,以及Java SE进程是否也具有此类权限。请注意,我们使用的用户节点应该始终有效并且永远不会存储到系统节点。