【Talend】ジョブ実行時エラーのデバッグ方法(コンパイルエラー編)

今回は、Talendでジョブを作り上げ、いざ実行!した時に、コンパイルエラーが出てしまった場合のバグフィックス方法についてです。

この記事の対象とするエラー

今回対象とするエラーというのは、下記のような画面のものです。

talend_bugfix1

頑張って、ジョブを組み立てて…いざ実行!
という時に、実行される前のコンパイルエラーのようなもの(コンパイルエラーか)との付き合い方について説明していきます。

Talend起動時に表示される諸々のエラーの対処方法などは、次の記事を参考にしてください⇒【Talend Open Studio 入門01】開発環境の構築。Talendをインストールしよう

コンパイルは通ったけれど、実行中に表示されるエラーの対処方法は、また別の機会に記述する予定です(2016/10/20)

コンパイルエラーが出た!ど、どうすれば…

それでは、ここから具体的に、このエラーとの戦い方について書いていきます。

表示されたエラーを見て、「あ、なるほど。ここやな」って分かる場合はもちろんあると思います。
が、全く見当もつかない場合のケースを書いていきます。

デザイナ表示ではなくコード表示に切り替える

デザイナ画面にも、どのコンポーネントでエラーとなったかを赤枠で表示してくれますが、
そのコンポーネントの具体的に何処がエラー箇所なのかまでは教えてくれません。

特に、tMapで複雑なマッピングを行っている時は、デザイナ画面だけではエラー箇所の特定は無理でしょう。

というわけで、実際のJavaコードを表示してくれる画面に切り替えます。切り替えは、下記の画像の通り、ジョブデザイナの左下のタブを切り替えればokです。

talend_bugfix2

タブをDesignerからCodeに切り替えます。

エラー行を特定する

Codeタブに切り替えると、下記のようなゴリゴリのソースコードが見れます。

talend_bugfix7

「こ、こんな話聞いてないよ!エラー箇所わかんないじゃん!」
と、一見思いますが、ご安心ください。
一度コンパイルエラーを出した状態ですと、スクロールバーより右側にエラー行に赤マークが付きます。そのマークをクリックしてあげると、エラー行へ飛べます。

エラー行に飛ぶと、エラーとなっているコード行を参照できます。

talend_bugfix3

画像で赤字表示されている部分ですね。マウスカーソルをあわせると、エラーの詳細が表示されますので、ここで原因と思われる可能性を考えておきます。
今回の例でいくと、本当に恥ずかしいのですが、2つ致命的なコーディングミスがありますね。本当にお恥ずかしながら。

  1. globalmapというスペルミス。正しくはglobalMapです。(globalMapってなんぞや?というかたはこちらの記事を参考にしてください)
  2. 末尾のセミコロンがコロンになっている(やべぇ)

ということで、エラー箇所の特定ができました。

デザイナに戻りエラー箇所を修正する

残念ながら、こちらのコードを直接修正することはできませんの、再度デザイナ画面に切り替えて、該当箇所を修正します。

talend_bugfix4

丁度tJavaRowで自分でコードを書いていた部分ですね。悲しいです。

ソースを修正したら、再度ジョブ実行して、エラー表示を確認します。
エラーがなくなれば、ジョブが正常実行されます。

talend_bugfix6

無事にジョブが実行できるようになりました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です