buildrするMaven2をからの移行時なぜテストが実行に失敗するのですか?

StackOverflow https://stackoverflow.com/questions/1165752

質問

私は簡単Maven2をのJavaプロジェクト(JMS中継システム)を持っています。我々は最初のバージョンをリリースした後、私たちは実際にコーディングよりもMavenを設定するより多くの時間を費やしたことがわかりました。

私たちは、ビルドプロセスをクリーンアップしたいと誰かがビルダーへの移行を提案し、次のリリースのために。だから私はちょうどそれをやって使命を帯びました。

自分のウェブサイト上の文書によると、私のセットアップbuildr(1.3.4)。そして、プロジェクトのルートから私はbuildrコマンドを入力してから、私のpom.xmlに基づいてビルドファイルを作成するために、buildrを通知しました。それは細かい処理され、すべてのコードをコンパイル。 buildrは、テストを実行開始するまで、すべてが肉汁でした。ここでは出力に含まがあります:

Test framework error: taskdef class org.apache.tools.ant.taskdefs.optional.junit.JUnitTask cannot be found

明らかに指定されたクラスは、私のクラスパスにありません。しかし、buildrのドキュメントでは、基本的なテストのために必要なすべての必要な項目が含まれていることを述べています。彼らのドキュメントには、彼らはアリか蟻のバージョンのいずれかの特定のライブラリが必要であることを言っていません。私はアリ1.7.0がインストールされていないが(ただし私のクラスパスに含まれていません)。

誰もが前にこれを見ていますか?

<時間>

更新

私は、Mavenのリポジトリ上の悪名高いアリ・オプションの瓶を設置しました。私test.withオプションで問題が解決しなかったことを含みます。

--traceでbuildrコマンドを実行すると、この余分な情報を提供します...

Tests failed!
/pathtoruby/buildr-1.3.4/lib/buildr/core/test.rb:455:in `run_tests'
/pathtoruby/buildr-1.3.4/lib/buildr/core/test.rb:199:in `initialize'
役に立ちましたか?

解決

が見つかり問題...どうやらそこに必要とされているアリ-junit.jarをですが、私のローカルリポジトリ内の何らかの理由でそれは私のローカル・ユーザー・アカウント(OSXシステム)ルートではなく所有していました。だから、buildrからはアクセスできませんでした。私は自分のローカルリポジトリから項目を削除し、(それが必要な項目をダウンロード)buildr reran。

<時間>

更新

また、これは他のいくつかの問題を引き起こしました。私のローカルリポジトリ内の他のいくつかの項目は奇妙な権限を持っていたようです。私はちょうど私のリポジトリをアーカイブするとMavenはそれを再構築させることになりました。これは、すべて私の問題を解決しました。私は今、100行を超えていた私の以前のpom.xmlファイルに比べて、コードの25行で素敵なビルドファイルを持っています。

他のヒント

JUnitTaskがクラスパス上にないので、あなたはそのエラーを取得します。私はBuildrに非常に精通していないよので、あなたがJUnitのjarファイルを指定するか、しないようにするために、それが必要な場合は言うが、Buildrは、システムクラスパスを使用している場合、それまでのJUnitを追加しようとすると何が起こるかを見ることができません。

あなたが確認したら、あなたであるとして、あなたはそれが実行されるまで、あなたが期待どおりに設定を変えてみてください、またはそれを残すことができますJUnitのは、クラスパスにハッキングで実行されますビルドします。

あなたは、ドキュメントの関連部分への参照を投稿することができますか?私は、必要な項目が含まれていると言う(サイトの私の非常に簡単な読書で)何も表示されませんでした。

それはあなたがすべての宝石をダウンロードしていませんでしたということは可能ですか?あなたはルビーを更新する「宝石の更新--system」を実行すると、「宝石の更新buildr」あなたは必要な依存関係がすべてインストールされていることを確認することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top