非同期呼び出しを処理するための小さなフレームワークを作成しています。フレームワークがどのように機能するかを示すために、ショーケースを作成しました。ショーケース内で、(Java ソース ファイルからの) コードと、コードが実行されると何が起こるかを示したいと思います。GWT Showcase に似たもの。
コードを表示するには、IncrementalGenerator を使用して Java ソース ファイルを読み取り、コードを表すウィジェットのコードを生成します。そのために、以前に他のプロジェクトで行ったのと同じコードを使用して Java ファイルを読み取りました。
次のようになります。
InputStream in = classLoader.getResourceAsStream(path);
if (in == null) {
logger.log(TreeLogger.ERROR, "Resource not found: " + path);
throw new UnableToCompleteException();
}
path は、読み取りたいファイルの相対パスです。SuperDevMode の場合、InputStream は常に null です。古い Generator クラスも使用しようとしましたが、これも機能しませんでした。コードサーバーが起動された場合にジェネレーターが実行されると、クラスパス内でファイルが利用できないようです。
Dev-Mode-Plugin で同じコードを試したところ、問題なく動作しました。
では、SuperDevMode を使用して IncrementalGenerator 内のプロジェクトの Java ソース ファイルにアクセスするにはどうすればよいでしょうか?
GWT 2.6.1、IntelliJ v13.1 Ultimate を使用しています。
前もって感謝します