Java - 让用户编写自己的代码,然后编译它,然后在同一运行时内使用它
我需要执行以下步骤:
- 让用户编写自己的代码 - 没问题,这只是一个要实现的接口,我保存一个文件
- 编译它 - 没问题,我使用
ToolProvider.getSystemJavaCompiler()
并创建 < strong>.class 文件 - 让用户使用这个新代码 - 这里我被卡住了。我有 .class 文件,现在怎么办?我需要以某种方式将其添加到我的项目中,但我不知道如何。
感谢您的帮助!
I need to perform following steps:
- Let user write own code - no problem, it's just one interface to implement and I save a file
- Compile it - no problem, I used
ToolProvider.getSystemJavaCompiler()
and created .class file - Let user use this new code - here I am stuck. I have .class file and now what? I need somehow add it in my project and I don't know how.
Thanks for help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用
URLClassLoader
加载类。然后您可以使用反射来实例化和操作它们。Use a
URLClassLoader
to load the classes. Then you can use reflection to instantiate and manipulate them.您需要做的是编写自己的类加载器来加载您刚刚编译的类。
网络上有很多关于如何做到这一点的示例。
以下是从网络加载的一个: http://kazi- masudul-alam.blogspot.com/2008/01/java-classloader.html
What you need to do is write your own ClassLoader that will load the classes you have just compiled.
There are many examples on the web on how to do that.
Here is one to load from the web: http://kazi-masudul-alam.blogspot.com/2008/01/java-classloader.html