Java - 让用户编写自己的代码,然后编译它,然后在同一个运行时使用它

时间:2011-04-02 14:33:09

标签: java compilation on-the-fly

我需要执行以下步骤:

  1. 让用户编写自己的代码 - 没问题,它只是一个实现的接口,我保存了一个文件
  2. 编译它 - 没问题,我使用了ToolProvider.getSystemJavaCompiler()并创建了 .class 文件
  3. 让用户使用这个新代码 - 在这里我被卡住了。我有.class文件,现在是什么?我需要以某种方式将它添加到我的项目中,我不知道如何。
  4. 感谢您的帮助!

2 个答案:

答案 0 :(得分:5)

使用URLClassLoader加载课程。然后你可以使用反射来实例化和操作它们。

答案 1 :(得分:1)

您需要做的是编写自己的ClassLoader,它将加载您刚刚编译的类 网上有很多关于如何做到这一点的例子。

以下是从网络加载的内容:http://kazi-masudul-alam.blogspot.com/2008/01/java-classloader.html