https://ualhmis.github.io/MavenEjercicios
Recomendación de proceder en esta práctica:
- Clona este repositorio en tu PC, y prueba que se construya correctamente en tu Eclipse, ejecutando los goals
clean package.- Debes configurar correctamente JDK en tu Eclipse tal y como se explica en el guión. Aunque se recomienda JDK8, también funciona con JDK11 y JDK14 (aun no lo hemos validado con JDK13).
- Para estar seguro de que todo ha ido bien, comprueba que se han ejecutado todos los tests y que en la carpeta
target/site/jacocose ha generado el informe de cobertura. - Para comprobar que se generan correctamente los informes de análisis estático de código, ejecuta los goals
clean package site. De esta manera se crea el informe completotarget/site/index.html. En el enlace informes del proyecto deben aparecer todos.
Si hay errores, el problema es de tu Eclipse: revisa la configuración de JDK.
-
Cuando funcione correctamente, abre el archivo
pom.xmlde este proyecto que tienes clonado y copia el contenido completo excepto las primeras lineas, es decir, desde la línea<properties>hasta el final, y pégalo en el archivopom.xmlde tu proyecto, reemplazando del contenido que tenías por este. Si lo prefieres, ve copiando bloque a bloque depom.xmla medida que se explica en el guión. Pero ten en cuenta:- No es recomendable escribir el código del archivo pom.xml a mano, porque la sintaxis XML es propensa a errores y Eclipse no comprueba gran parte de los errores que puedes cometer.
- Tampoco es recomendable copiar los bloques de código desde el documento pdf del guión, ya que algunos caracteres no se copian bien del pdf a texto plano (como los guiones '-').
- IMPORTANTE: no olvides copiar también en tu proyecto los archivos
spotbugs-security-exclude.xmlyspotbugs-security-include.xmlen la carpeta raiz de tu proyecto, al mismo nivel delpom.xml. SpotBugs es la versión actualizada de FindBugs que incluye errores de seguridad. En el archivospotbugs-security-include.xmlaparecen los tipos de erorres que va a buscar, en principio solo los de seguridad (SECURITY), pero puedes configurarlo para que busque también los de correctitud (CORRECTNESS), código malicioso (MALICIOUS_CODE), malas prácticas (BAD_PRACTICE), etc, modificando la lineaBug category(más info aquí):
<Bug category="SECURITY,MALICIOUS_CODE,CORRECTNESS,BAD_PRACTICE "/>
- Pruébalo poco a poco, es decir, ejecutando los goals que se indican en cada paso del guión. Para los informes de análisis estático de código, como FindBugs, comprobarás que al ejecutar
clean package findbugs:findbugssolamente se genera el informe en formato XML en el archivotarget/findbugsXml.xml, pero no se genera informe en formato HTML. Si deseas visualizar el informe de Findbugs en formato HTML debes ejecutar los goalsclean package site. Lo mismo ocurre para SpotBugs: si deseas ejecutarlo "solo" debes lanzar los goalsclean package com.github.spotbugs:spotbugs-maven-plugin:spotbugs, pero eso solo generará el archivo xmltarget/spotbugsXml.xml. El informe HTML solamente se obtiene al lanzar el goalsite.
-
Error en javadoc:
Unable to find javadoc command: The environment variable JAVA_HOME is not correctly set. -> [Help 1].Solución: Añade manualmente la variable
JAVA_HOMEen la configuración de ejecución así - stackoverflowJAVA_HOMEdebe indicar la carpeta en la que Java JDK está instalado en tu PC. En Windows 10, busca enC:\Program Files\Java\y busca la versión concreta de JDK instalada, por ejemplo, si tienes instalado JDK8 será:Correct! - C:\Program Files\Java\jdk1.8.0_211 Wrong - C:\Program Files\Java\jdk1.8.0_211\bin Wrong - C:\Program Files\Java\jdk1.8.0_211\jre Wrong - C:\Program Files\Java\jre1.8.0_211\bin -
Error en javadoc por la versión de Java:
Solución: Añade la versión de java en la configuración del plugin javadoc en el
pom.xml
<plugin>
<groupId>org.apache.maven.ugins</groupId>
<artifactId>maven-javadoc-plun</artifactId>
<version>3.2.0</version>
<configuration>
<source>8</source>
</configuration>
</plugin>
-
Error en
site:Could not find resource '.../spotbugs-security-include.xml'. -> [Help 1]Solución: copia en tu proyecto los archivos
spotbugs-security-exclude.xmlyspotbugs-security-include.xmlen la carpeta raiz de tu proyecto, al mismo nivel delpom.xml -
Error de formatos
HTML,XMLen Dependecy Check:
La solución es poner cada formato en su propia etiqueta format:
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>5.3.2</version>
<configuration>
<skipTestScope>false</skipTestScope>
<formats>
<format>HTML</format>
<format>XML</format>
</formats>
</configuration>
...
</plugin>


