如何从程序中的Java文件创建Java类文件?

如何从程序中的Java文件创建Java类文件?,java,Java,假设外部文件夹中存在一个Java文件。我可以编写一个Java程序,生成该Java文件的.class文件并将.class文件放在同一个外部文件夹中吗?对我来说,最简单的方法是包含tools.jar并调用com.sun.tools.javac.Main.compile()函数 是的,您可以使用java编译器来完成 JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); StandardJavaFileManager fileMana

假设外部文件夹中存在一个Java文件。我可以编写一个Java程序,生成该Java文件的.class文件并将.class文件放在同一个外部文件夹中吗?

对我来说,最简单的方法是包含
tools.jar
并调用
com.sun.tools.javac.Main.compile(
)函数

是的,您可以使用java编译器来完成

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(null,null,null); 
它在这里:。
此类具有方法
compileClass(类类)
compileClass(字符串名称)

无Sir。当然,javac可以从.java文件创建类文件。但是我必须在不使用javac的情况下这样做,并且运行我自己的程序来创建那个类。使用external是什么意思?请注意,
sun.tools.javac.Main
javax.tools.JavaCompiler
referent@PauKiatWee所取代。你是对的,我只是感觉更舒服(“…最简单的方法…”)你能告诉我在哪里可以下载tools.jar吗?还有一件事,这段代码我必须在struts 1 frmawork中实现。通常在根Java SDK安装目录的lib目录中。@Adriano谢谢大家的帮助。我已将tools.jar放在eclipse库中。但是我仍然不能使用javax.tools.JavaCompiler。我不能将此代码用于sturts应用程序吗?编译器类应该被弃用。它与编译Java源代码无关,在现代JVM中,它根本不做任何事情。我更新了指向Java6文档的链接@Boneill您能提供一个此类编译Java源代码的工作示例吗?