Error al ejecutar mvn -P create-installer install
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>