Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java从字符串加载类_Java_Classloader - Fatal编程技术网

使用java从字符串加载类

使用java从字符串加载类,java,classloader,Java,Classloader,我使用这段代码从java字节码创建一个类和一个实例 Class aClass = container.getByteCode(); o = aClass.newInstance(); 我想做同样的事情,但用java源代码字符串代替 aClass = container.getJavaCode()... 为此,您需要一个Java编译器。EclipseCompilerforJava是用Java编写的,而且可以,因此挂接到另一个入口点或添加另一个入口点应该非常容易。我不确定让它根据当前的类

我使用这段代码从java字节码创建一个类和一个实例

Class aClass = container.getByteCode();
    o = aClass.newInstance();
我想做同样的事情,但用java源代码字符串代替

aClass = container.getJavaCode()...

为此,您需要一个Java编译器。EclipseCompilerforJava是用Java编写的,而且可以,因此挂接到另一个入口点或添加另一个入口点应该非常容易。我不确定让它根据当前的类路径类加载器而不是rt.jar进行编译有多难


此外,您的需求也有所扩大,使用Groovy解释器Groovy至少是Java的超集,甚至可以切换到Java附带JS引擎或Ruby的Javascript。

您需要一些编译器将源代码转换为字节码。您还需要其他人重新考虑您的设计,因为它非常,非常罕见的是,这是解决问题的唯一方法。我相信,您要做的是使用Java服务器页面JSP。如果不是JSP,则使用其他类似的工具包之一。有一种方法可以在Java程序中访问javac。但这并不简单,我也不确定它有多普遍。类似于昨天的问题: