Военная война Кобертуры

Я пытаюсь вести войны с Cobertura 1.9.4.1. Для этого я использую следующую задачу ant, которая вызывается с помощью maven-antrun-plugin:

<target name="instrumentEar">
 <cobertura-instrument todir="${module}/target/${ear.dir}">
 <includeclasses regex="nl.*">
 <fileset dir="${module}/target/${ear.dir}">
 <include name="**/*.war">
 </include></fileset>
 </includeclasses></cobertura-instrument>
</target>

После выполнения выход:

[INFO] --- maven-antrun-plugin:1.3:run (instrument) @ my-ear ---
[INFO] Executing tasks

instrumentEar:

[cobertura-instrument] Cobertura 1.9.4.1 - GNU GPL License (NO WARRANTY) - See COPYRIGHT file
[cobertura-instrument] Instrumenting 2 files to D:\workspace\my-ear\target\my-ear-1.0.0-SNAPSHOT
[cobertura-instrument] Cobertura: Error closing output stream.
[cobertura-instrument] java.util.zip.ZipException: ZIP file must have at least one entry
[cobertura-instrument] at java.util.zip.ZipOutputStream.finish(ZipOutputStream.java:304)
[cobertura-instrument] at java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:146)
[cobertura-instrument] at java.util.zip.ZipOutputStream.close(ZipOutputStream.java:321)
[cobertura-instrument] at net.sourceforge.cobertura.util.IOUtil.closeOutputStream(IOUtil.java:165)
[cobertura-instrument] at net.sourceforge.cobertura.instrument.Main.addInstrumentationToArchive(Main.java:319)
[cobertura-instrument] at net.sourceforge.cobertura.instrument.Main.parseArguments(Main.java:488)
[cobertura-instrument] at net.sourceforge.cobertura.instrument.Main.main(Main.java:514)
[cobertura-instrument] Cobertura: Error closing output stream.
[cobertura-instrument] java.util.zip.ZipException: ZIP file must have at least one entry
[cobertura-instrument] at java.util.zip.ZipOutputStream.finish(ZipOutputStream.java:304)
[cobertura-instrument] at java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:146)
[cobertura-instrument] at java.util.zip.ZipOutputStream.close(ZipOutputStream.java:321)
[cobertura-instrument] at net.sourceforge.cobertura.util.IOUtil.closeOutputStream(IOUtil.java:165)
[cobertura-instrument] at net.sourceforge.cobertura.instrument.Main.addInstrumentationToArchive(Main.java:319)
[cobertura-instrument] at net.sourceforge.cobertura.instrument.Main.parseArguments(Main.java:488)
[cobertura-instrument] at net.sourceforge.cobertura.instrument.Main.main(Main.java:514)
[cobertura-instrument] Cobertura: Saved information on 0 classes.
[cobertura-instrument] Instrument time: 67ms

Кажется, муравь не может прочитать войны, которые были созданы maven. Я помню, что с давних пор у меня были проблемы с реализацией java zip и я использовал один из муравьев. Может быть, здесь что-то похожее, но наоборот?

Этот поток предполагает, что это должно сработать, но некоторые люди рекомендуют сначала добывать войны, прежде чем приступать к инструментам.

Кто-нибудь имел успех с муравьиной задачей (cobertura-instrument) с инструментальными войнами?

1 ответ

Я решил это, используя файлы классов из разных проектов, включенных в WAR отдельно, а затем слияние их с каталогом, с которого запущен сервер приложений.

Я уже использовал отдельные проекты для охвата каждого проекта, поэтому все действия, связанные с объединением, должны были быть добавлены.

Поэтому нет необходимости использовать WAR.

licensed under cc by-sa 3.0 with attribution.