Problemas frecuentes con Spring Roo
Contenido
Error de archivo con una sección asignada a usuario abierta
Puede ser que a veces Spring Roo se trabe cuando quiere abrir un archivo y emita el siguiente error: "(La operación solicitada no se puede realizar en un archivo con una sección asignada a usuario abierta)". Esto sucede por causa del antivirus. Desactivandolo se soluciona el problema. Con windows: Panel de Control -> Herramientas administrativas -> Servicios -> Detener los procesos activados del antivirus.
No se encuentran las clases de la libreria Jaxb
Si al desplegar el proyecto en el servidor de aplicaciones, Maven perdió la dependencia con JAXB, entoces necesitarás agregar la dependencia en pom.xml del proyecto:
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.1</version>
<exclusions>
<exclusion>
<groupId>javax.xml.stream</groupId>
<artifactId>stax-api</artifactId>
</exclusion>
<exclusion>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId> <version>2.1.5</version> <scope>runtime</scope> </dependency>
Mas ayuda de la dependencia de Maven con JAXB
No logro descargar los jars del repositorio Maven
Si hay un error al descargar archivos del repositorio maven es probable que se deba configurar correctamente el proxy a utilizar.
Para ello en Maven, en el archivo settings.xml, es necesario configurar el proxy para que Maven pueda conectarse al repositorio de la web y bajarse lo que necesita tener sincronizado en la pc para las ejecuciones locales de la aplicación:
<proxy> <active>true</active> <protocol>http</protocol> <username>nombre del usuario de conexion</username> <password>clave</password> <host>servidor</host> <port>puerto</port> </proxy>
SurefireExecutionException: Bad version number in .class file
Al ejecutar el comando perform tests obteniamos el error:
org.apache.maven.surefire.booter.SurefireExecutionException: Bad version number in .class file; nested exception is java.lang.UnsupportedClassVersionError: Bad version number in .class file ...
Leyendo un poco vimos que el motivo es que maven está corriendo con una versión de java que no es la correcta. Para verificarlo ejecutar (fuera de roo) el comando:
mvn -v
Que muestra la siguiente información
Apache Maven 2.2.1 (r801777; 2009-08-06 19:16:01+0000)
Java version: 1.5.0_09
Java home: C:\Archivos de programa\Java\jdk1.5.0_09\jre
Default locale: es_AR, platform encoding: Cp1252
OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"
Si vemos que la versión de Java no es la correcta (idealmente java 6) debemos cambiar el valor de la variable de entorno JAVA_HOME para que apunte al JDK correcto.