[解決済み] Maven Jacoco 設定 - レポートからクラス/パッケージを除外することができません。
質問
私はmavenのマルチモジュールプロジェクトを持っており、コードカバレッジレポートのためにjacoco-mavenを使用しています。いくつかのクラスは、Springの設定であり、私はそれらに興味がないので、報告されるべきではない。
私は以下のようにmaven-jacocoプラグインを宣言しています。
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.2.201409121644</version>
<configuration>
<outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
<exclude>some.package.*</exclude>
<exclude>**/*Config.*</exclude>
<exclude>**/*Dev.*</exclude>
<exclude>some/package/SomeClass.java</exclude>
</configuration>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
<execution>
<id>post-unit-test</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
問題なのは
mvn clean verify
を実行したときに、私のxml設定が指摘しているように、除外されるべきクラスがまだjacocoによって報告されることです。どのように私はそれを適切に構成することができますか?
どのように解決するのですか?
あなたの XML は少し間違っています。除外の親フィールドにクラスの除外を追加する必要があります。 Jacocoドキュメント
<configuration>
<excludes>
<exclude>**/*Config.*</exclude>
<exclude>**/*Dev.*</exclude>
</excludes>
</configuration>
excludeフィールドの値は標準のワイルドカード構文を使ってディレクトリ target/classes/ に相対するコンパイルされたクラスのクラスパス (パッケージ名ではない) でなければなりません。
* Match zero or more characters
** Match zero or more directories
? Match a single character
この方法で、パッケージとその子パッケージ/サブパッケージのすべてを除外することもできます。
<exclude>some/package/**/*</exclude>
のすべてのクラスを除外します。
some.package
にある全てのクラスと、その子クラスを除外します。例えば
some.package.child
もレポートには含まれないでしょう。
私はテストし、私のレポートゴールは、上記を使用してクラスの数を減らして報告しました。
このレポートを Sonar にプッシュする場合、Sonar の設定でこれらのクラスを表示から除外するよう指示する必要があります。
設定 > 一般設定 > 除外 > コード カバレッジ
Sonar ドキュメント では、もう少し詳しく説明しています。
上記のコマンドを実行する
mvn clean verify
除外されたクラスが表示されます
除外されない
[INFO] --- jacoco-maven-plugin:0.7.4.201502262128:report (post-test) @ ** ---
[INFO] Analyzed bundle '**' with 37 classes
除外項目あり
[INFO] --- jacoco-maven-plugin:0.7.4.201502262128:report (post-test) @ ** ---
[INFO] Analyzed bundle '**' with 34 classes
これが役に立つといいのですが
関連
-
Jenkinsで、mavenを使用してパッケージxxxが存在しない問題が解決される
-
スナップショットでアーティファクト ... :pom:1.0-SNAPSHOT が見つかりませんでした。
-
[解決済み】mavenのダウンロードの進捗状況表示を無効にする
-
[解決済み] Mavenで単体テストを禁止し、統合テストを許可する
-
[解決済み] GradleでJaCoCoのカバレッジレポートをフィルタリングする
-
[解決済み] Maven - テストを実行せずにコンパイルする方法は?
-
[解決済み] mavenで、pom xmlのdependencyタグとpluginタグの違いは何ですか?
-
[解決済み] マルチモジュールのMaven + Sonar + JaCoCoがマージされたカバレッジレポートを提供するように設定する方法は?
-
[解決済み] Mavenがアーティファクトを取得するためにリモートリポジトリに行くのではなく、ローカルリポジトリを使用するように強制するにはどうすればよいですか?
-
[解決済み] Maven Jacoco 設定 - レポートからクラス/パッケージを除外することができません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
mavenのパッケージング失敗を思い出してください。コンパイルの失敗
-
スナップショットでアーティファクト ... :pom:1.0-SNAPSHOT が見つかりませんでした。
-
[解決済み] MavenにおけるdependencyManagementとdependenciesの相違点
-
[解決済み] 複数モジュールのMavenプロジェクトでモジュールのバージョン番号を更新する
-
[解決済み] 親POMで定義されたMavenプラグインを無効化する
-
[解決済み] GradleでJaCoCoのカバレッジレポートをフィルタリングする
-
[解決済み] Intelli J IDEAでインデックスの更新に時間がかかる
-
[解決済み] Maven SurefireプラグインとMaven Failsafeプラグインの違いは何ですか?
-
[解決済み] Mavenです。このプロジェクトのパッケージングでは、ビルドアーティファクトにファイルが割り当てられていません。
-
[解決済み] maven がどの settings.xml ファイルを使用しているかを調べるにはどうすればよいですか?