我刚刚将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)
答案 0 :(得分:0)
这是Java SE首选项API的一个例外,请参阅此Where are Java preferences stored on Mac OS X?
检查Mac OS上的用户是否具有访问该文件夹的权限,以及Java SE进程是否也具有此类权限。请注意,我们使用的用户节点应该始终有效并且永远不会存储到系统节点。