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

glassfishとDB接続 ~CUI操作~

JavaEEではDBを使うときにglassfish内で設定が必要です。 基本的にはGlassFishでDB接続などのようにブラウザで管理画面から情報を入力することが可能です。 ただCUIや設定ファイル …

no image

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

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

no image

Annnotationについて その2

Java(JavaEE)をやりだして半年ぐらいたつんですが、個人的に鬼門だとおもっていたのが下記内容です。 MVCではないコンポーネントの考え方 クラスを使ったジェネリクスの使い方(型パラメータなど) …

no image

jenkins構築

いままでjenkinsについての記事を書いていなかったので記録しておこうと思います。 Contents1 前提条件2 jenkins構築3 設定ファイル変更(ポート&URL変更)4 セキュリティ有効化 …

no image

Mapからインスタンス変数、インスタンス変数からMapへ

Javaで変数を引き回すときにMapからインスタンス、インスタンスからMap、あるインスタンスから別のインスタンスに変数を差し替える作業って結構多いと思います。 これって普通にやるとMapのget,p …

アーカイブ