2012-03-23 17 views
5

Mam aplikację internetową wdrożoną na serwerze Tomcat. Zanim przejdę do dalszych szczegółów, pozwól mi przeliterować wersje.jacoco + tomcat = jacoco.exec, Zgłaszanie braku zasięgu. Wsparcie.

Wersje: JDK 1.7, Tomcat - 7.0.19, jacoco -0.5.6

Dodałem jdk1.7 Tomcat. W pliku \ apache-tomcat-7.0.19 \ bin \ startup.bat dodałem.

SET JAVA_HOME=C:\ProgramFiles\Java\jdk1.7.0 

Dodałem także agenta jacoco do Tomcat. W apache-tomcat-7.0.19 \ bin \ catalina.bat dodałem.

SET JACOCO=-javaagent:<my download folder>\jacoco-0.5.6.2012\lib\jacocoagent.jar=destfile=C:\jacoco.exec,append=true,includes=* 
set JAVA_OPTS=%JAVA_OPTS% %JACOCO% 

Teraz, kiedy odpalić Tomcat, i uderzył moje aplikacji internetowych, zgodnie z oczekiwaniami nie jest C: \ jacoco.exec pliku.

Mam teraz przeniósł kod do następującej struktury katalogów jacoco.exec /bin/ /coveragereport

Teraz Użyłem ReportGenerator klasy z http://www.eclemma.org/jacoco/trunk/doc/examples/java/ReportGenerator.java. Mam kilka raportów w formacie HTML w katalogu/coveragereport. Jednak cały kod jest pokazywany jako nie dotknięty. Chociaż po uruchomieniu Tomcat, poszedłem do http://localhost:/i przeglądałem. Miałem nadzieję na zgłoszenie procentowego zasięgu.

Brakuje mi czegoś bardzo prostego. Prosimy o pomoc.

Odpowiedz

8

Tomcat zapisze plik Jacoco przy wyłączaniu.

5

Alternatywnie można użyć ant dump task:

jacoco:dump address="server.example.com" reset="true" destfile="remote.exec"/> 

Ale za to do pracy, trzeba określić output mode tcpserver dla java agent.

-javaagent:[yourpath/]jacocoagent.jar=output=tcpserver,address=<host>,port=<port>,... 
+0

Próbuję użyć sugerowanego sposobu (tcpserver), używam JAcoco 0.6.2. Nie widzę żadnego serwera powiązanego z domyślnym portem 6300. Po uruchomieniu polecenia dump otrzymuję komunikat "Nie można zrzucić danych pokrycia" z "Odmowa połączenia", ponieważ nic nie działa na tym porcie. Czy to błąd, czy też coś mi brakuje? –

+0

@MarcellodeSales również stoję w obliczu tego problemu ... gdzie mógłbym się mylić? –

+0

@MarcellodeSales to dawno temu, ale ważne jest zdefiniowanie output = tcpserver. i może ustawić własne porty przez adres = , port = oers

1

6300 to domyślny port. Możesz zmienić port lub możesz wyszukać wolne porty, które mogą być odsłuchiwane przy użyciu netstat -an | grep "LISTEN"

Powiązane problemy