2014-12-13 7 views
-2

html 페이지에서 실행되는 애플릿을 작성하려고합니다. 애플릿을 Eclipse에서 디버그로 JApplet으로 실행하면 정상적으로 실행되지만 html로 넣으면 오류가 발생합니다.기본 : eccezione : java.lang.ExceptionInInitializerError java.lang.RuntimeException : java.lang.ExceptionInInitializerError

자바 콘솔 말 :

기본 : eccezione : java.lang.ExceptionInInitializerError java.lang.RuntimeException가 : java.lang.ExceptionInInitializerError 에서 com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter .instantiateApplet (알 수없는 출처) at sun.plugin2.applet.Plugin2Manager.initAppletAdapter (알 수없는 출처) at sun.plugin2.applet.Plugin2Manager $ AppletExecutionRunnable.run (알 수없는 출처) 의 java.lang.Thread.run (알 수없는 출처)) 발생 원인 : java.lang.ExceptionInInitializerError (ClientResource.java:405) com.gabrielepiscitelli.JAppletGui.RestClient.Client.listAllThreads (Client.java:39) com.gabrielepiscitelli.JAppletGui.Gui.GUIApplet에서 (GUIApplet 된 .java : 191) java.lang의에서 sun.reflect.DelegatingConstructorAccessorImpl.newInstance (알 수없는 소스) 에서 sun.reflect.NativeConstructorAccessorImpl.newInstance0 (기본 방법) sun.reflect.NativeConstructorAccessorImpl.newInstance에서 (알 수없는 소스) 에서 . (알 수없는 소스) com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter $ 1.run (알 수없는 소스) at java.awt. event.InvocationEvent.dispatch (알 수없는 소스)(알 수없는 소스) at java.awt.EventQueue $ 3 (알 수없는 소스) at java.awt.EventQueue $ 3.run (알 수없는 소스) at java.awt.EventQueue $ 3 (알 수없는 소스) java.security.ProtectionDomain $ 1.doIntersectionPrivilege에서 java.security.ProtectionDomain $ 1.doIntersectionPrivilege (알 수없는 소스) (알 수없는 소스) 자바에서 에서 java.security.AccessController.doPrivileged (기본 방법) 에서 실행 (알 수없는 소스) . awt.EventQueue $ 4.run (알 수없는 소스)at java.awt.EventQueue $ 4.run (알 수없는 소스) at java.security.AccessController.doPrivileged (네이티브 메소드) at java.security.ProtectionDomain $ 1.doIntersectionPrivilege (알 수없는 소스)알 java.awt.EventDispatchThread.pumpEventsForHierarchy에서 java.awt.EventDispatchThread.pumpEventsForFilter (알 소스)에 java.awt.EventQueue.dispatchEvent (알 소스)에 java.awt.EventDispatchThread.pumpOneEventForFilters (알 소스)에 7백45경1천5백15조5백36억9천1백36만3천2백10 (에 의한 java.awt.EventDispatchThread.pumpEvents (알 수없는 소스) java.awt.EventDispatchThread.pumpEvents에서 (알 수없는 소스) java.awt.EventDispatchThread.run (알 수없는 소스) 에서 에서 소스) : java.security.AccessControlException : 액세스가 거부되었습니다 ("java.util.PropertyPermission" "java.util.logging.config.file" "read") at java.security.AccessControlContext.checkPermission (알 수없는 소스) at java.security.AccessController.checkPermis java.lang.SecurityManager.checkPropertyAccess에서 sun.plugin2.applet.AWTAppletSecurityManager.checkPermission (알 소스)에 java.lang.SecurityManager.checkPermission (알 소스) (알 소스) 자바에서 에서 시온 (알 소스) . org.restlet.engine.Engine.configureLog (Engine.java:194) at org.restlet.engine.Engine.register (Engine.java : 380) at org.restlet.engine.Engine.register (Engine.java:368) at org.restlet.engine.Engine.getInstance (Engine.java:252) at org.restlet.data.Method. (Method.java:334) at org.restlet.data.Method (Method.java:393) at org.restlet.data.Method (Method.java:358) at org.restlet.data.Method . (Method.java:57) ... 28 Client.java:39의 코드는 자바 파일이 부분의 라인 cr = new ClientResource(lURI);이다

이상 :

/** 
* 
*/ 
package com.gabrielepiscitelli.JAppletGui.RestClient; 

import java.io.IOException; 

import org.restlet.data.Status; 
import org.restlet.resource.ClientResource; 
import org.restlet.resource.ResourceException; 

import com.gabrielepiscitelli.JAppletGui.DataGui.DataGuiPost; 
import com.gabrielepiscitelli.JAppletGui.DataGui.DataGuiThread; 
import com.gabrielepiscitelli.JAppletGui.DataGui.DataGuiUser; 
import com.gabrielepiscitelli.SystemForum.Utils.ExceptionForum; 
import com.google.gson.Gson; 

/** 
* @author Gabriele 
* 
*/ 
public class Client { 
    /** 
    * 
    * @return 
    * @throws ExceptionForum 
    */ 
    public static DataGuiThread[] listAllThreads() throws ExceptionForum{ 

     DataGuiThread[] lRestDataGuiThreads = null; 

     ClientResource cr = null; 
     Gson gson   = new Gson(); 
     Status status  = null; 
     String json   = null; 

     String lURI = "http://localhost:8182/ListThreadsAll"; 

     cr = new ClientResource(lURI); 
     try { 
      json = cr.get().getText(); 
      status = cr.getStatus(); 

      if (status.getCode() != 200) { 
//    System.out.println(status); 
//    System.exit(status.getCode()); 
       Status lStatusJson = gson.fromJson(json, Status.class); 
       throw new ExceptionForum(ExceptionForum.ExType.CLIENT, 
          "Client error.", 
          lStatusJson.getDescription() + lStatusJson.getReasonPhrase()); 
      } else { 
       lRestDataGuiThreads = gson.fromJson(json, DataGuiThread[].class); 
      } 

     } catch (ResourceException e) { 
//   e.printStackTrace(); 
      throw new ExceptionForum(ExceptionForum.ExType.CLIENT, 
         "Client error.", 
         e.getMessage()); 

     } catch (IOException e) { 
//   e.printStackTrace(); 
      throw new ExceptionForum(ExceptionForum.ExType.CLIENT, 
         "Client error.", 
         e.getMessage()); 
     } 

     return lRestDataGuiThreads; 
    } 
,

HTML 파일은 단순히 : 나에게 문제를 설명 할 수있는 사람은

<html><body> 
<p> 
    <applet code="com.gabrielepiscitelli.JAppletGui.Gui.GUIApplet.class" archive="GUIApplet.jar,miglayout15-swing.jar,org.restlet.jar,gson-2.2.4.jar" 
    width="800" height="640"></applet> 
</p> 

있습니까? 발전에 감사드립니다!

답변

1
Caused by: java.security.AccessControlException: access denied 
    ("java.util.PropertyPermission" "java.util.logging.config.file" "read") 

이 애플릿은 신뢰할 수 있어야합니다. 애플릿 코드에 디지털 서명하십시오.