5

Eclipse の「問題」ビューからすべてのコンパイラ エラー (またはビルド パスの誤りなど) を抽出できるプログラムを作成しようとしています。

これがどのように行われるかについてのドキュメントを見つけることができませんでした。

4

1 に答える 1

4

私はあなたのために3つの可能な解決策を持っています:

エクリプスを使わない

これが最も簡単な方法です。Eclipse はビルド エラーのビジュアル プレゼンテーションを生成しており、構造化されたプレゼンテーションが必要なため、それらは一致していません。

一方、javacコマンドラインから実行するだけの場合、出力は簡単に取得でき、その場で比較的簡単に解析できます。エラーをより正確に解析する必要がある場合はJavaCompiler、コードで実行し、それにカスタムDiagnosticListenerを提供することを検討してください。

Eclipse コンパイラーのニュアンスを把握することが重要な場合は、コマンド ラインから (バッチ モードで) 実行することもできます。ここにプロセスを説明する素晴らしいブログ投稿があります: ECJ - Eclipse Compiler for Java。短いバージョンは次のとおりです。Eclipseディストリビューション(私のものは にplugins/org.eclipse.jdt.core_3.8.3.v20130121-145325.jarあります)でECJ jarを見つけて、コマンドラインで次のように実行します

java -jar <ecj.jar> <sourcefiles>

もちろん、より細かく制御するために、これを Java 内から実行することもできます。


GUI 自動化を使用してエラーをフェッチする

これは不器用ですが、Eclipse プロジェクトが期待どおりにビルドされていることを自動化されたテスターで検証するシナリオをテストする場合に役立ちます。

AutoHotKey、Sikuli、または AWT Robot などのツールを使用して、エラーを自動的に取得できます。私が考えることができる最も単純なルーチンは次のようになります。

  1. 「問題」タブをクリックして前面に移動します
  2. 「エラー」最上位ノードをクリックして選択します
  3. コピーするホットキーを入力します。すべてのエラーがクリップボードに 1 行に 1 つずつコピーされます
  4. クリップボードをファイルに貼り付けるか、他の方法でダンプします
  5. 「警告」など、キャプチャする他のカテゴリについて 2 ~ 4 を繰り返します。

Eclipse プラグインを書き直す

最後に、ユーザーに透過的なエラーメッセージのリアルタイムキャプチャが本当に必要な場合は、これで行き詰まります。

Eclipse のソース コード (おそらく "Problems" ビューの定義) に移動し、コード情報を横に渡すように変更する必要があります。次に、これを必要とする人は誰でも、標準バージョンではなく、カスタムビルドバージョンの Eclipse を使用する必要があります。

于 2013-05-31T21:05:57.470 に答える