数组索引超出界限异常 - RMI DynamicClient

时间:2014-03-01 18:56:21

标签: java rmi

import java.rmi.Naming;
import java.rmi.Remote;
import java.rmi.RMISecurityManager;
import java.rmi.server.RMIClassLoader;
import java.util.*;
import java.lang.reflect.Constructor;

public class DynamicClient {
    public DynamicClient (String[] args) throws Exception {
        Properties p = System.getProperties(); 
        String url = p.getProperty("java.rmi.server.codebase"); 
        Class ClasseClient = RMIClassLoader.loadClass(url,"ClientDistant");
        Constructor [] C = ClasseClient.getConstructors();
        C[0].newInstance( new Object[] {args} );
    }

    public static void main (String[] args) {
        System.setSecurityManager( new RMISecurityManager() );
        try {
            DynamicClient cli = new DynamicClient(args);
        } catch (Exception e) {
            System.out.println(e.toString());
        }
    }
}

此代码应该从Web服务器动态收取ClientDistant类并执行处理,但它会显示错误消息:

 C:\Users\DELL\Desktop>java -Djava.security.policy=client.policy  -Djava.rmi.serv
 er.useCodebaseOnly=false  -Djava.rmi.server.codebase=http://localhost:8080/RMI/
 DynamicClient

 java.lang.ArrayIndexOutOfBoundsException: 0

其中RMI是名为RMI的java Web应用程序中的目录(我使用的是GlassFish服务器)。 任何加载ClientDistant并执行其处理的解决方案?

0 个答案:

没有答案