我正在尝试在运行时获取Java文件并运行文件内部的内容。我想要抓取的Java文件执行并有输出。编译后我不知道怎么做。如何在运行时运行java文件?我试图在运行时运行.class。
答案 0 :(得分:0)
如果java CLASS文件在同一个包中,那么你使用Class.forName加载它(" fully.qualified.class.path.javafile")这将为你提供类文件实例,然后你使用" newInstance"类方法,以获取类的实例。
答案 1 :(得分:0)
要运行Java文件,首先需要编译它。使用javax.tools.ToolProvider.getSystemJavaCompiler()
获取<script src="{{ asset('projectname/app/Resources/assets/js/app.js') }}">
对象,然后您可以运行它来提取这样的参数:
JavaCompiler
此处JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
int result = compiler.run(null, null, null,
"-d", outputDirectory, "-classpath", classPath, javaFilePath);
if(result == 0) {
// compilation is successful
}
是放置生成的类文件的理想位置,outputDirectory
是编译Java文件所需的类路径(如果您的Java文件仅使用标准JDK类,则省略它)。编译成功后,您可以使用URLClassLoader
加载已编译的类,并通过反射从中启动您想要的任何内容。使用自定义错误流(第三个参数)来捕获错误消息并在UI中显示它们。
请注意,为了在运行时使用Java编译器,必须从JDK启动应用程序(JRE是不够的)。