Cómo utilizar Jacoco para contar de forma remota la cobertura del código del servicio Tomcat
Ant
Jacoco
Configuración remota del servicio Tomcat
1: sh Shudown.sh Primero cierre el servicio Tomcat.
2: Modificar la configuración de JAVA_OPTS en bin/catalina.sh.
# -javaagent: seguido de la ruta de instalación de jacoco
# incluye= opción, seleccione el servicio a cubrir
# port= opción, seleccione el puerto que se abrirá
# dirección= opción, la dirección IP de la máquina que ejecuta el servicio Tomcat (si se va a ejecutar en la misma máquina que el servicio Tomcat).
JAVA_OPTS="-javaagent:/ruta/a/tu/jacoco_0.6.4/lib/jacocoagent.jar=includes=com.baidu.*, salida=tcpserver, puerto=8893, dirección=10.81. 14.77"
3: sh startup.sh reinicia el servicio Tomcat.
Si encuentra una excepción al iniciar el programa principal, agregue otro -Xverify: none
JAVA_OPTS="-javaagent:/path/to/your/jacoco_0.6.4/lib/ jacocoagent.jar=". incluye=com.baidu.*, salida=tcpserver, puerto=8893, dirección=10.81.14.77 -Xverify: none"
Configuración de tarea Ant local
Configure la compilación .xml.
lt;?xml version="1.0"?gt;
lt;project name="Lengyu" xmlns:jacoco="antlib:org.jacoco. ant" default="jacoco"gt;
lt;! --ruta de instalación de acoco--gt;
lt; property name="jacocoantPath" value="/home/work / software/jacoco_0.6.4/lib/jacocoant.jar"/gt;
! lt;!--La ruta al archivo .exec final a través del cual Jacoco genera el informe final--gt; p>
lt;property name="jacocoexecPath" value="/home/work/local/hudson_home/workspace /wg_merchant_oc_regression/jacoco.exec"/gt;
lt; ! ruta--gt;
lt;property name="reportfolderPath" value="E:/Libs/coverage_ant_task/report/"/gt;
lt;!--Remoto Dirección IP del servicio Tomcat--gt;
lt;property name="server_ip" value="10.81.14.77"/gt;
lt;!--El control remoto previamente configurado El puerto abierto por el servicio Tomcat debe ser el mismo que el configurado anteriormente: gt;
lt property name="server_port" value="8893"/gt;
lt;!- - Ruta del código fuente --gt;
lt; property name="checkOrderSrcpath" value="E:/Src/ordercenter/ordercenter-biz/src/main/java/" /gt ;
lt;!--.ruta del archivo de clase--gt;
lt;property name="checkOrderClasspath" value="E:/Src/ordercenter/ordercenter-biz/ target/classes/ com/baidu/ordercenter/service/Impl" /gt;
lt;!
lt;! -- Informe a la hormiga dónde encontrar a Jacoco --gt;
lt;taskdef uri="antlib:org.jacoc
o.ant" Resource="org/jacoco/ant/antlib.xml"gt;
lt; classpath path="${jacocoantPath}"
lt;/taskdefgt;
lt;! --dump task:
De acuerdo con la dirección IP y el número de puerto configurados previamente,
acceda al servicio Tomcat de destino y genere el archivo .exec. -- gt;
lt; nombre de destino="dump"gt;
lt; dirección de volcado="${server_ip}" reset="false" destfile="$ {jacocoexecPath }" port="$ {server_port}" append="true"/gt;
lt;/targetgt;
lt;!--tarea jacoco:
Basado en la ruta del código fuente configurada previamente y la ruta del archivo .class,
Genere el informe de cobertura html final basado en el archivo .exec generado después de volcar --gt;
lt; nombre de destino="report"gt;
lt; eliminar dir="${reportfolderPath}"/gt
lt; / gt;
lt;jacoco:reportgt;
lt;executiondatagt;
lt;file file="${jacocoexecPath}"/gt; p >
lt;/executiondatagt;
lt;structure name="JaCoCo Report"gt;
lt;group name="Verificar pedido relacionado"gt;
lt;classfilesgt;
lt./gt;
lt;/classfilesgt;
lt;sourcefiles codificación="gbk"gt;
lt;/classfilesgt;
lt; p>
lt; conjunto de archivos dir="${checkOrderSrcpath}"
lt;/sourcefilesgt; p>
lt;/groupgt;
lt;/ estructuragt;
lt;html destdir="${ reportfolderPath}" encoding="utf-8" /gt;
lt;/jacoco:reportgt;
lt;/targetgt;
lt;/projectgt;
Generar informe de cobertura p>
Ejecutar volcado de hormigas. Si tiene éxito, obtendrá el siguiente resultado.
[work@st01-ecom-jn2.st01.baidu.com ant]$ volcado de hormigas
Archivo de compilación:/home/work/local/hudson_home/workspace/wg_merchant_oc_regression/ant / build.xml
dump:
[jacoco:dump] Conectándose a /10.81.14.77:8893
[jacoco:dump] Volviendo datos de ejecución a / home /work/local/hudson_home/workspace/wg_merchant_oc_regression/jacoco.exec
CONSTRUCCIÓN EXITOSA
Tiempo total: 0 segundos
Finalmente, ejecute el informe ant.