【发布时间】:2012-06-13 09:29:09
【问题描述】:
当我尝试从 struts 的操作类(即 RMI 客户端)访问 RMI serevr 时(单击 jsp 按钮),我得到了这个 execption
java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
java.lang.ClassNotFoundException: com.mindcraft.queryExecutor.actionclass.ExecutorInterface (no security manager: RMI class loader disabled)
下面是我的RMI客户端sn-p
try{
ExecutorInterface p=(ExecutorInterface)Naming.lookup("//localhost:2007/exec1");
System.out.println("Inside client.."+ p.toString());
int a= p.getJobStatus("2");
System.out.println("a..." + a);
p.killJob("1");
p.executeJob(id, usrname, pswd);
System.out.println("Threads started, main ends\n");
}
catch(Exception e)
{
System.out.println("Execption in RMI..."+ e);
e.printStackTrace();
}
当我用 public static void main() 在单独的文件中尝试上面的代码时很好,但是在 struts 框架的 Action 类中尝试相同的代码时得到上面的异常。
【问题讨论】:
-
这与策略文件有关。
-
哪个文件 java.policy 或 java.security 文件???
-
java 安全文件的策略文件 :D
-
@Th0rndike 这与策略文件无关。例外情况是没有安全管理器,因此没有有效的策略文件。