我目前正在使用NetBeans创建一个程序,允许用户编写和执行自己的代码。到目前为止,我有这个方法,我用它来编译他们的代码:
public boolean compileClass(String userClassName){
int compilationResult = compiler.run(null, null, null, "src/uk/learningAid/UserInputs/"+userClassName+".java");
if(compilationResult == 0){
System.out.println("Compilation Successful");
return true;
}else{
System.out.println("Compilation Failed");
return false;
}
}
但是,这会在与.class
文件夹中的.java文件相同的包中创建src
文件,并在.class
文件夹中创建build
文件。我想要的只是.class
文件夹中只有build
而不是src
文件夹。
此外,如果用户键入要执行的新代码,则上述方法将在.class
文件夹中创建用户代码的新src
表示,但不会更新.class
文件夹中的build
。
答案 0 :(得分:0)
您可以使用Maven嵌入器API并采用Maven项目结构(或通过pom.xml文件定义您自己的结构)。
http://maven.apache.org/ref/3-LATEST/maven-embedder/index.html