最近、プロジェクトにcoberturaプラグインを含めようとしました。しかし、私は奇妙な問題に遭遇しました。今、私がこれをやろうとすると:
mvn clean package cobertura:check-integration-test
私のプロジェクトは問題なく組み立てられます。しかし、ここにデプロイした後、メッセージとして受け取るものは次のとおりです。
java.lang.NoClassDefFoundError: ネット/sourceforge/cobertura/coveragedata/LightClassmapListener
これは、私が理解しているように、cobertura がクラスのバイトコードを変更するために発生します。では、チェックとコードのビルドをどのように進めればよいでしょうか。現在、teamcity の次のソリューションを考え出しています。
最初のステップで cobertura を実行します。
mvn clean package cobertura:check-integration-test
その 2 番目のステップの後、通常のアセンブリが実行されます。
mvn clean package
これは機能しているように見えますが、cobertura プラグインの影響を受けないバイトコードを使用してクリーンなビルドを作成するために、パッケージ化のプロセスを 2 回実行する必要があるのは奇妙に思えます (これには 2 倍の時間がかかります)。