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

JSONへの変換

近年はJavaSciprtを利用した動的なサイトが多いため、データのやり取りをAjaxで行うことも多かったりします。 JavaScriptの場合、データをJSON形式で扱うため、サーバー側からレスポン …

no image

DBUtils活用 その2

以前DBUtilsの活用を書きましたが、他の使い方がわかったのでメモ 以前はSelectでList<エンティティ>を取得したのですが、List<Map>でも取得できます。 ソー …

no image

JSFのテンプレート機能

Contents1 保守性の向上で必要なHTMLの考え方1.1 サンプル1.2 ファイル構成1.3 ソース1.3.1 静的なファイル群1.3.2 テンプレート1.3.3 アクセスファイル1.4 Net …

no image

リソースファイルの読み込み

リソースバンドルは基本的にJSFから参照して呼び出すことが多いんですが、もちろんプログラム内からも呼び出すことはできます。 書き方も単純でリソースバンドルをインスタンス生成してメッセージのキーで呼び出 …

no image

文字列のENUM化

文字列をENUM化したいときの処理について リンク集です。 ENUMが文字だけのとき(key=>valueタイプでない時)、key=>valueタイプの時両方OKのようです。 enum 定 …