Al ejecutar la creación de un instalador, ya sea mediante la opción mvn create installer o mediante un comando similar a este desde la consola:
mvn -P create-installer install
es habitual encontrarse con un error que termina con líneas como estas:
[artifact:mvn] [INFO] Creating package of the package info: [artifact:mvn] [INFO] org.gvsig.installer.lib.impl.DefaultPackageInfo@11e8050 ( [artifact:mvn] code: org.gvsig.oracle [artifact:mvn] name: [artifact:mvn] description: [artifact:mvn] gvSIG-version: [artifact:mvn] version: 0.0.1-0 [artifact:mvn] buildNumber: 0 [artifact:mvn] operating-system: all [artifact:mvn] architecture: all [artifact:mvn] java-version: j1_5 [artifact:mvn] download-url: [artifact:mvn] state: devel [artifact:mvn] official: false [artifact:mvn] type: unknow [artifact:mvn] model-version: 1.0.1 [artifact:mvn] owner: [artifact:mvn] owner-url: [artifact:mvn] sources-url: [artifact:mvn] dependencies: [artifact:mvn] web-url: [artifact:mvn] categories: []) [artifact:mvn] [INFO] ------------------------------------------------------------------------ [artifact:mvn] [ERROR] FATAL ERROR [artifact:mvn] [INFO] ------------------------------------------------------------------------ [artifact:mvn] [INFO] null [artifact:mvn] [INFO] ------------------------------------------------------------------------ [artifact:mvn] [INFO] Trace [artifact:mvn] java.lang.NullPointerException [artifact:mvn] at java.util.Hashtable.put(Hashtable.java:394) [artifact:mvn] at java.util.Properties.setProperty(Properties.java:143) [artifact:mvn] at org.gvsig.installer.lib.impl.info.InstallerInfoFileWriter.write(InstallerInfoFileWriter.java:101) [artifact:mvn] at org.gvsig.installer.lib.impl.info.InstallerInfoFileWriter.write(InstallerInfoFileWriter.java:74) [artifact:mvn] at org.gvsig.installer.lib.impl.info.InstallerInfoFileWriter.write(InstallerInfoFileWriter.java:59) [artifact:mvn] at org.gvsig.installer.lib.impl.DefaultInstallerProviderServices.writePackageInfoFile(DefaultInstallerProviderServices.java:148) [artifact:mvn] at org.gvsig.installer.lib.impl.DefaultInstallerProviderServices.writePackageInfoForIndex(DefaultInstallerProviderServices.java:136) [artifact:mvn] at org.gvsig.installer.lib.impl.creation.DefaultMakePluginPackageService.writePackageInfoForIndex(DefaultMakePluginPackageService.java:221) [artifact:mvn] at org.gvsig.installer.maven.GeneratePluginPackageIndexMojo.createPackage(GeneratePluginPackageIndexMojo.java:83) [artifact:mvn] at org.gvsig.installer.maven.AbstractGeneratePackageMojo.execute(AbstractGeneratePackageMojo.java:167) [artifact:mvn] at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) [artifact:mvn] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) [artifact:mvn] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556) [artifact:mvn] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535) [artifact:mvn] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) [artifact:mvn] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) [artifact:mvn] at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) [artifact:mvn] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) [artifact:mvn] at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) [artifact:mvn] at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) [artifact:mvn] at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) [artifact:mvn] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [artifact:mvn] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [artifact:mvn] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [artifact:mvn] at java.lang.reflect.Method.invoke(Method.java:597) [artifact:mvn] at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) [artifact:mvn] at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) [artifact:mvn] at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) [artifact:mvn] at org.codehaus.classworlds.Launcher.main(Launcher.java:375) [artifact:mvn] [INFO] ------------------------------------------------------------------------ [artifact:mvn] [INFO] Total time: 11 seconds [artifact:mvn] [INFO] Finished at: Fri May 11 15:34:48 CEST 2012 [artifact:mvn] [INFO] Final Memory: 57M/137M [artifact:mvn] [INFO] ------------------------------------------------------------------------ BUILD FAILED C:\dev\ew\gv2\build\ant-tasks\maven-goals.xml:35: The following error occurred while executing this line: C:\dev\ew\gv2\build\ant-tasks\ant-tasks-config.xml:117: Java returned: 1
Esto suele ocurrir porque no se ha incluído una referencia al archivo package.info en distribution.xml. La solución consiste en añadir un párrafo similar a este en dicho archivo:
<assembly> ... <files> ... <file> <source>package.info</source> <outputDirectory>${extension.install.dir.name} </outputDirectory> </file> ... </files> ... </assembly>
Tras seguir los pasos descritos en el documento Cómo montar un workspace de gvSIG para Eclipse para montar un workspace completo de gvSIG, puede ocurrir que Eclipse nos señale mediante iconos de error algún problema de dependencias entre los diferentes proyectos. Esto ocurre aunque los scripts de ANT (mvn-eclipse-eclipse, mvn-install, etc) funcionan correctamente.
La causa podría ser un problema de comunicación entre Maven y Eclipse, que impide actualizar correctamente las dependencias de los proyectos en Eclipse.
El método conocido para solucionar esto consiste en comprobar en la pestaña Problems, qué proyectos tienen ese problema y usar el método mvn eclipse individualmente sobre cada uno de ellos, hasta eliminar todos los mensajes de error.
Tras montar el workspace de gvSIG tal como se indica en el documento Cómo montar un workspace de gvSIG para Eclipse, si intentamos ejecutar gvSIG desde el launcher de Eclipse, nos presenta un error diciendo que no puede encontrar el fichero ".../build/product/lib/...andami...jar" .
Si el proceso de descarga del workspace de gvSIG a terminado de forma satisfactoria esto puede deberse a que en el fichero $HOME/.m2/settings.xml esta especificada la ruta en la que hay que desplegar los plugins de gvSIG a una carpeta distinta a la de build/product de dentro del workspace de gvSIG. Esto es facil que ocurra si antes de montar el worlspace de gvSIG hemos estado trabajando con una instalacion de gvSIG generando plugins con el asistente para la generacion de plugins, en cuyo caso tendremos en el settings.xml la ruta a esa instalacion.
Para solucionarlo podremos hacer dos cosas:
Si vamos a estar trabajando tanto con el workspace de gvSIG como con el de algun otro plugin que estemos desarrollando sera recomendable la ultima opcion.