18

それは私だけですか、それとも cobertura-maven-plugin が Java 8 で動作しませんか? それが実行されると、私は得る

[INFO] --- cobertura-maven-plugin:2.6:instrument (default) @ provider-impl ---
[INFO] Cobertura 2.0.3 - GNU GPL License (NO WARRANTY) - See COPYRIGHT file
[cobertura] WARN  [main] net.sourceforge.cobertura.instrument.CoberturaInstrumenter - Unable to instrument file /var/lib/jenkins/workspace/BranchBuilder/implementations/provider-impl/target/generated-classes/cobertura/com/foo/impl/internal/ServiceProviderImpl$JoinRunner.class
java.lang.IllegalArgumentException
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at net.sourceforge.cobertura.instrument.CoberturaInstrumenter.instrumentClass(CoberturaInstrumenter.java:147)
at net.sourceforge.cobertura.instrument.CoberturaInstrumenter.instrumentClass(CoberturaInstrumenter.java:121)
at net.sourceforge.cobertura.instrument.CoberturaInstrumenter.addInstrumentationToSingleClass(CoberturaInstrumenter.java:234)
at net.sourceforge.cobertura.instrument.Main.addInstrumentationToSingleClass(Main.java:298)
at net.sourceforge.cobertura.instrument.Main.addInstrumentation(Main.java:307)
at net.sourceforge.cobertura.instrument.Main.parseArguments(Main.java:399)

ASM と Java 8 に問題があったことはわかっているので、問題は maven-plugin が ASM の Java-8 互換バージョンを使用するように更新されていないことだと思われます

参考までに、こちらで質問したのですが回答がありませんでした

Java 8でcobertura-maven-pluginを使用できた人はいますか?

4

3 に答える 3

18

cobetura-maven-plugin で使用される ASM 依存関係を手動で更新することで、動作させることができました。詳細のリンクは次のとおりです: http://www.befreeman.com/2014/09/getting-cobertura-code-coverage-with.html

于 2014-09-23T17:02:04.220 に答える
6

新しいクラスフォーマットを理解させることは未解決の問題です 、
https://github.com/mojohaus/cobertura-maven-plugin/issues/21

于 2014-09-02T16:20:19.000 に答える
3

<build>これは、セクションとセクションに cobertura プラグインがある場合にも発生します<reporting>。1つを削除すると、問題は解決します。

于 2015-09-14T14:27:58.557 に答える