Java derslerimi derlemek için JDT kullanıyorum. BatchCompiler bir dizge döndürür ancak sütun ve satır bilgileriyle ilgili bir dizi problem/hataya ihtiyacım var. compiler.compile (adet); Hatayı printwriter'e yazdırır, compiler.resolve (unit) tam olarak istediğimi yapar ancak sadece bir java dosyası derleyebilir. JDT derleyicisini program aracılığıyla nasıl kullanabilirim?
Ben bu şekilde bir derleyici nesnesi oluşturuldu:Compiler compiler = new Compiler(env, DefaultErrorHandlingPolicies.exitAfterAllProblems(), new CompilerOptions(), requestor, new DefaultProblemFactory());
Ve derleyici dosya ve dosya içeriğini içeren CompilationUnits oluşturun.
CompilationUnit[] units = project.toCompilationUnit();
AFAIK, derlemek için 2 yol vardır, bunlardan biri de sütun bilgilerini dönmez çünkü benim için kullanışlı değil, (birimleri) onun PrintWriter için boşluk ve baskılar hataları ve sorunları döndüren yöntemi derlemek olduğunu . Diğer yol, çözüm (birim) yöntemidir, ancak yalnızca bir CompilationUnit ile çalışabilir.
compiler.resolve(units[index], true, true, true);
JDT derleyicisini birden çok dosyayı derlemek için program aracılığıyla nasıl kullanabileceğimi bilen var mı?
CompilationUnits üzerinden döngü yapmak ve 'resol'u çağırmak için herhangi bir sorun var mı? –
@UnniKris Çalışıyor, ancak söylediğim gibi, çözüm yalnızca bir CompilationUnit parametresi alıyor. CompilationUnits [] sorunu çözmek değil, çünkü birçok .java dosyaları içeren bir proje derlemeye çalışıyorum çünkü derleme ve bir CompilationUnit diğer CompilationUnits hakkında herhangi bir bilgi yok. –