현재 사용자 입력을 기반으로 Java 클래스 파일을 출력하는 도구를 만들고 있습니다. 나는 현재 컨텍스트에 존재하지 않는 참조 클래스와 변수 중 일부를 포함하는 .java 파일 세트를 출력했다. 이 때문에 컴파일 할 때 출력 파일은 이러한 오류를 기록하고 클래스를 컴파일하지 않습니다. 내 질문은 : JavaCompiler를 사용하여 클래스 파일을 컴파일하는 방법이 있습니까?JavaCompiler API 강제 컴파일 오류가 있습니까?
public static void compileAll(File file) throws IOException{
String fileToCompile = "C:/test.java";
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
FileOutputStream errorStream = new FileOutputStream("Errors.txt");
int compilationResult = compiler.run(null, null, errorStream, "-verbose", fileToCompile);
if(compilationResult == 0){
System.out.println("Compilation is successful");
}else{
System.out.println("Compilation Failed");
}
}
인터페이스로 정의한 다음이를 구현하는 더미 메소드를 추가하십시오. 그런 식으로 교체하는 것이 더 빠를 수 있습니다. – SJuan76
이렇게 할 방법이 없다고 말하는 것입니까? 필요한 모든 수업을 다시 만드는 것이 번거롭기 때문입니다. –