Java App에서 GWT 프로젝트를 컴파일해야합니다. 그래서 내가 출력 디렉토리 등을 설정하는 CompilerOptions와 컴파일러 인스턴스를 생성Java 응용 프로그램에서 프로그래밍 방식으로 GWT 프로젝트를 컴파일하는 방법은 무엇입니까?
내 코드는 다음과 같다 :
Compiler compiler=new Compiler(new CompilerOptions() {......
....
}
ModuleDef def=new ModuleDef("sampleweb");
def.clear();
def.addSourcePackage("D:\\projects\\sampleweb\\src\\com\\sample\\web", new String[]{"client"}, new String[]{}, new String[]{}, true, false);
def.addGwtXmlFile(new File("D:\\projects\\sampleweb\\src\\com\\sampleweb\\web\\Sampleweb.gwt.xml"));
TreeLogger logger=new SwingTreeLogger(new SwingLoggerPanel(Type.ALL, new File("x.txt")));
compiler.run(logger,def);
compiler.run
가 호출 될 때 발생합니다 같이 NullPointerException이
Exception in thread "main" java.lang.NullPointerException
at com.google.gwt.dev.cfg.ModuleDef.getCompilationState(ModuleDef.java:373)
at com.google.gwt.dev.Precompile.precompile(Precompile.java:246)
at com.google.gwt.dev.Precompile.precompile(Precompile.java:229)
at com.google.gwt.dev.Precompile.precompile(Precompile.java:141)
at com.google.gwt.dev.Compiler.run(Compiler.java:232)
at com.asklepian.TestApp.Starter.main(Starter.java:400)
컴파일러를 어떻게 구성해야합니까?
처음부터 'ModuleDef'를 생성해야합니까? 'ModuleDefLoader'를 보셨습니까? BTW,'Compiler'는 classpath에서 모든 것을로드합니다.이 클래스는'URLClasspath'이어야합니다 (GWT는 클래스 패스). –
+1. 짐작하면 GWT Compilation for Swing 용 UI 도구를 작성하는 것입니다. Console, Eclipse 및 IntelliJ가 충분한 이유가 없습니까? – SSR
@ThomasBroyer 나중에 .. 사용자 요구 사항에 따라 사용자 지정 Ui 위젯을 작성해야하며 개발 된 위젯에 해당하는 JS를 생성하기 위해 컴파일해야합니다. 사용자가 동일한 Java 코드처럼 위젯을 작성합니다 (예 : –