Я создаю программное обеспечение, которое необходимо будет динамически создавать java-байт-код и, возможно, даже сделать его исполняемым банком.Динамически создавать java байт-код и runnable jar
Моя нынешняя идея - создать новый .java-файл и скомпилировать его во время выполнения. Я могу создать файл, но я не уверен, как его скомпилировать во время выполнения, и сделать его запущенным банком. Любая помощь будет принята с благодарностью.
public static String generate(String filePath) {
try {
File file = new File("Test.java");
if(!file.exists())file.createNewFile();
FileWriter write = new FileWriter(filePath+".java");
BufferedWriter out = new BufferedWriter(write);
out.write(
"public class Test {\n\t" +
"public static void main(String[] args){\n\t\t"+
"System.out.println(\"Working\");\n\t"+
"}\n" +
"}"
);
out.close();
} catch (Exception e) {// Catch exception if any
return "Error: " + e.getMessage();
}
return "Test.java created!";
}
Если вы создаете байтовый код в памяти, вы можете загрузить его прямо в свой ClassLoader без необходимости писать какие-либо файлы. –