Mostrando entradas con la etiqueta appfuse. Mostrar todas las entradas
Mostrando entradas con la etiqueta appfuse. Mostrar todas las entradas

Illegal character in path at index 18: file: ~/.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0.jar

domingo, 11 de julio de 2010

Hace unos días mientras generaba mis CRUD usando la herramienta appfuse:gen de Appfuse me mostró el siguiente error extraño:

[INFO] null
Illegal character in path at index 18: file:/~/.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0.jar
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.IllegalArgumentException
Después de buscar pocos minutos, enseguida encontré cuál era el problema. El problema es que Maven tiene ciertos conflictos al intentar parsear la ubicación del repositorio si tal ubicación contiene espacios en blanco. Y este es un error ya muy conocido que me había tocado ver antes, pero lo había olvidado (algo muy común).
Como en mi caso, que por estar usando un Windows XP en español, por defecto Maven genera el repositorio en "C:/Documents and Settings/<usuario>/.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0.jar", por lo tanto generará este error en alguna ejecución. Los pasos para corregir el error fue:
  1. Mover el repositorio que Maven genera, que por defecto se encuentra en "C:/Documents and Settings/<usuario>/.m2/" a una que no contenga espacios como "C:\.m2"
  2. Editar el archivo de configuración de Maven que se encuentra en <MAVEN_HOME>\conf\settings.xml. Descomentar y actualizar la directiva que apunta al repositorio local en

    c:\.m2\repository
  3. y BUILD SUCCESSFUL

Espero les sirva para cualquier ejecución de Maven con el mismo problema.

SAXNotRecognizedException: Property 'http://apache.org/xml/features/nonvalidating/load-external-dtd' is not recognized

miércoles, 7 de julio de 2010

Actualmente estoy desarrollando una pequeña aplicación usando Appfuse 2.0.2. Appfuse cuenta con una herramienta de generación de código muy potente que usa Maven.

mvn appfuse:gen -Dentity=NombrePojo

Pues bien, al momento de intentar generar mis CRUD (Create, Retrieve, Update y Delete) me marcó el error:
org.xml.sax.SAXNotRecognizedException: Property 'http://apache.org/xml/features/nonvalidating/load-external-dtd'

Después de buscar un rato en la lista de correo de Appfuse encontré que es una funcionalidad no probada aún con Java 6 y recomiendan solucionarlo apuntando a otra URL, pero había que hacer algunos cambios muy drásticos, pero lo que quería era solamente solucionar ese error y no tenía inconvenientes en cambiar de versión de Java, así que
  1. instalé la versión 5 de Java,
  2. cambié el valor de la variable de entorno JAVA_HOME a la ubicación del JDK5 en vez de la 6,
  3. abrí una nueva ventana de comandos,
  4. ejecuté nuevamente la instrucción mvn appfuse:gen -Dentity=NombrePojo y
  5. vualá BUILD SUCCESSFUL.
Espero que les sirva si están usando Appfuse