- - PR -
Maven2 マルチプロジェクトでのテストモジュールの依存関係の解決
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-07-29 19:05
Maven version: 2.0.9
Java version: 1.5.0_07 OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows" Maven2 の設定について教えてください。 Maven2 のマルチプロジェクトの構成があります。 モジュールは core、db があります。 ローカルレポジトリには、 〜/core/0.5.0/core-0.5.0.jar 〜/core/0.5.0/core-0.5.0-tests.jar がインストールされています。 db のモジュールは core に依存しており、POM には以下のものが設定されています。
さて db のテストフェイズで、 core 内のクラス(core-0.5.0-tests.jar に格納されている)を参照する必要があるのですが、 うまく参照できずテストクラスのコンパイルエラーがでてしまい困っています。 # "core-0.5.0-test.jar" に対する依存関係を記述する必要があるのか? # それともコンパイル時の設定で行うか? # など、さっぱりわからない状態です。 どのようにするとコンパイルエラーを解決できるでしょうか? | ||||
|
投稿日時: 2008-07-29 21:40
まささん、こんにちは。
自分で POM書いたことないですが、 testスコープでテスト用のファイルを依存先に指定するのではないでしょうか? | ||||
|
投稿日時: 2008-07-29 22:13
> db のテストフェイズでcore 内のクラス(core-0.5.0-tests.jar に格納されている)を参照する必要がある
そもそもこの設計(?)がマズイので難しいです。 テストで共通に使用するプロジェクトを作るか、testではなくmainにいれるべきでしょう。 冷静に考えてください。 あなたがdbプロジェクトの担当で、テストも行っているとして、別の担当であるcoreの"テスト用のコード"に依存してテストの結果が変わるかもしれないってことです。 | ||||
|
投稿日時: 2008-07-30 09:21
なるほど。
別サブプロジェクトに分けないとだめかな?とは思っていたんで、 そうしようかと思います。
確かにそうなんですが、各テスト共通の親クラスを core に入れておきたかったんです。 とはいっても、共通親クラスを作ってどうしようというのはこれからなんですが。。。(--; あまりそういうことはしないものなのでしょうかね? | ||||
|
投稿日時: 2008-08-12 00:38
本家のガイドに書いてある方法でできると思います。
http://maven.apache.org/guides/mini/guide-attached-tests.html |
1