classloader使用java从字符串加载类
我使用这段代码从java字节码创建一个类和一个实例
Class aClass = container.getByteCode();
o = aClass.newInstance();
我想做同样的事情,但用java源代码(字符串)代替
aClass = container.getJavaCode()...
你可以在下面搜索框中键入要查询的问题!
我使用这段代码从java字节码创建一个类和一个实例
Class aClass = container.getByteCode();
o = aClass.newInstance();
我想做同样的事情,但用java源代码(字符串)代替
aClass = container.getJavaCode()...
# 1 楼答案
你需要一个Java编译器。Eclipse编译器for Java是用Java编写的,并且可以run as a standalone compiler,因此可以很容易地连接到另一个入口点或添加另一个入口点。我不确定让它根据当前的类路径(实际上是类加载器)而不是rt.jar进行编译有多困难
此外,还可以稍微拓宽您的需求,使用Groovy解释器(Groovy至少是Java的超集),甚至可以切换到Javascript(Java附带JS引擎)或Ruby