Я создал приложение Java, которое запускается Java Web Start.Узнайте, что вызывает java.security.AccessControlException
На заключительном этапе приложения он загружает файл на наш сервер.
Недавно я начал получать сбои на Mac OSX (10.6).
Я получаю это из журнала:
MRJ Plugin for Mac OS X v1.0.1
[starting up Java Applet Security @ Thu Apr 14 17:58:16 CEST 2011]
Thu Apr 14 17:58:20 CEST 2011 JEP creating applet ScratchApplet (http://scratch.mit.edu/static/misc/)
<<< ProxyClassLoader: defined LiveConnectProxy class. >>>
<<< Here're the permissions you've got: >>>
<<< [email protected] (
(java.net.SocketPermission scratch.mit.edu connect,accept,resolve)
)
>>>
Exception in thread "AWT-EventQueue-3" java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:374)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at sun.applet.AppletSecurity.checkAccess(AppletSecurity.java:235)
at sun.plugin.security.ActivatorSecurityManager.checkAccess(ActivatorSecurityManager.java:155)
at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:299)
at java.lang.Thread.init(Thread.java:336)
at java.lang.Thread.<init>(Thread.java:564)
at jep.AppletFrame.destroyAppletDirectly1(Unknown Source)
at jep.AppletFrame$Destroy1.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:678)
at java.awt.EventQueue.access$000(EventQueue.java:86)
at java.awt.EventQueue$1.run(EventQueue.java:639)
at java.awt.EventQueue$1.run(EventQueue.java:637)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:653)
at java.awt.EventQueue$2.run(EventQueue.java:651)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:650)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Это говорит, что это вопрос безопасности. Но самое странное, что у меня нет никаких проблем на окнах, и это присутствует в файле JNLP:
<security>
<all-permissions/>
</security>
Сво подписанное заявление.
Как я могу узнать больше о том, где выбрано исключение?
У меня также есть crashdump, но я не уверен, как его интерпретировать.
Обязательно проверьте JNLP с помощью [JaNeLA] (http://pscode.org/janela/). Что еще делает приложение. это требует доверия? –
Его запись на экране, которая записывает файлы и отправляет их на наш сервер –