2014-09-02 2 views
14

Является ли это только мной или cobertura-maven-plugin не работает с java 8? когда он работает я получаю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-плагин не был обновлен, чтобы использовать Java-8 совместимой версию ASM

Для справки, я задал вопрос here, но не получил ответа

Кому-нибудь удалось использовать cobertura-maven-plugin с java 8?

ответ

5

Это открытый вопрос, чтобы сделать его понять новую classformat, http://jira.codehaus.org/browse/MCOBERTURA-189,
https://github.com/mojohaus/cobertura-maven-plugin/issues/21

+0

ах, мой запрос для «maven-cobertura-plugin java 8» не вернул это. Я виню google;) спасибо – Hilikus

+0

Я запросил их Jira, поэтому я не буду винить google –

+11

Эта проблема исправлена ​​и доступна в версии '2.7' – stalet

18

я смог получить его работу вручную обновить зависимость ASM, используемой cobetura-Maven-плагин. Вот ссылка с более подробной информацией: http://www.befreeman.com/2014/09/getting-cobertura-code-coverage-with.html

+2

На самом деле, когда вы чаще используете более экзотические функции Java 8, к сожалению, это временное решение перестало работать. :( – metaforge

+0

@metaforge Пожалуйста, см. Https://github.com/cobertura/cobertura/issues/166#issuecomment-64662005 для возможного решения. Brian F этот ответ может быть неполным, вам нужно обновить другие зависимости, пожалуйста, см. my github link – Hilikus

+5

Не работал для меня, когда я использовал лямбды - есть ли способ обойти это? – Neel

2

Это также происходит, если у вас есть Cobertura плагин в ваших <build> и <reporting> разделах. Удалите его, и проблема исчезнет.

Смежные вопросы