skillup

技術ブログ

Java

arquillianでの外部ライブラリ使用

投稿日:2015年8月3日 更新日:

現状、実務ではDBのテストでは基本的にarquillianを使っています。

arquillianとにかく、重いですね~。

まあglassfishを動かしているので仕方ないかもしれませんが、簡単なテストをするのに1分近くかかります。

このブログもarquillianの待ち時間で書いています。そうでないと待ち時間に耐えられないので・・・(汗)

そんなこんなであまり好きではないのですが(汗)、本日ライブラリが動かないというバグが発生しました。

Apache commonsのライブラリが動かないんです。(もちろんApache commonsだけではありません。依存状態にあるライブラリ全般が動きません。)

ライブラリが動かないといっても本来のプログラムの中にライブラリを使っている場合は問題ないんですが、テストコードの中に依存状態があるライブラリを書くとNodefClassDefFoundエラーがでます。

で、結構はまっており、最初はライブラリのスコープが間違っているのかな?と思ったのですが、いろいろやってみても駄目でした。

社長ともいろいろ相談し、結局はarquillianの上で動いている場合、クラスパスが通常の場合と異なっているためでした。(←この解釈間違ってるかも・・・)

ただarquillianのテスト環境でも通常の状態と同様の環境を再現することは可能です。

ライブラリの依存状態を解決する方法として下記のようにpomに記述してあげればOKです。

参考リンク

Arquillian用ArchiveへクラスとMaven Dependencyを楽に追加する

-Java
-

執筆者:


comment

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

関連記事

no image

複合コンポーネント

JSFではラベルやテキストといったコンポーネントをグループ化し、一つのまとまりとすることができます。 メリットとしては似たような部分をテンプレート化しておくことで保守性を向上させることができます。 さ …

no image

型パラメータに関して その2

Javaでオブジェクト指向に基づいたコーディングをするために必須であり、最初の難関だったのが型パラメータでした。 Contents1 型パラメータが必要なケース2 型パラメータの制限3 クラスインスタ …

no image

Streamでの特定条件化のカウント&合計値算出

Java8、streamで値を抽出し、カウントと合計値の算出について、小ネタです。 一番多いのがList<Map>タイプの値の検出です。 [crayon-6577247e56eb01442 …

no image

JavaでのSQLの書き方

ちょっと小ネタです。 通常SQLを記述する場合、縦に分けて書くのが見た目にも見やすく、保守性も高いです。 例として

と書くよりは、 [ …

no image

Optionalについて その1

Streamに続いて、Java8で新搭載された機能がOptional です。 Javaではnullの処理をいちいちしなくてはいけないのがいろいろと面倒ですが、Optionalの機能をうまく使うことで可 …

アーカイブ