执行在java中通过网络发送的类文件

时间:2011-03-11 05:26:35

标签: java classloader

我正在尝试发送一个类文件,以便将“工作”从客户端卸载到服务器。 我发送了一个类文件“MyClass.class”并成功接收它为“MyFooClass.class”。

我需要在服务器端执行MyFooClass的main()并返回结果。

我试图用类加载器加载MyFooClass但得到ClassNotFoundException。

请帮助。

阿迪蒂亚

3 个答案:

答案 0 :(得分:3)

除非您正在执行RMI,否则“服务器”端将不会在其类路径中使用该类,因此会因ClassNotFoundException而失败。

现在更大的问题是你为什么要送全班?我认为在服务器上安装类然后在客户端上发送类的状态的文本表示(json,xml,yaml,csv)然后让服务器读取表示,创建类会更容易( es)它需要并执行工作。

答案 1 :(得分:1)

是的,您不应该重命名该课程。类加载器将仅搜索MyFooClass.class,但可用的是MyClass.class ..因此,它会抛出异常,说明预期的MyClass.class不可用。

答案 2 :(得分:0)

类名和文件名必须匹配。所以你不能简单地重命名文件。