2 Stimmen

Maven Assembly Plugin schlägt mit NullPointerException fehl?

Ich erhalte eine NullPointerException und das gefällt mir nicht. Es ist ein größeres Build mit mehreren Submodulen (die sich in ihrer Maven-Konfiguration nur geringfügig unterscheiden), für die meisten Module funktioniert es, aber für einige nicht. Irgendwelche Ideen, was das Problem sein könnte?

[INFO] [assembly:assembly]
[INFO] Reading assembly descriptor: src/assemble/all.xml
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] null
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.NullPointerException
at org.apache.maven.artifact.DefaultArtifact.equals(DefaultArtifact.java:358)
at java.util.HashMap.put(HashMap.java:376)
at java.util.HashSet.add(HashSet.java:200)
at java.util.AbstractCollection.addAll(AbstractCollection.java:305)
at org.apache.maven.plugin.assembly.artifact.DefaultDependencyResolver.buildManagedVersionMap(DefaultDependencyResolver.java:160)
at org.apache.maven.plugin.assembly.archive.DefaultAssemblyArchiver.createArchive(DefaultAssemblyArchiver.java:179)
at org.apache.maven.plugin.assembly.mojos.AbstractAssemblyMojo.execute(AbstractAssemblyMojo.java:370)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:483)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:678)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:553)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:523)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:371)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:268)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:181)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:356)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 41 seconds
[INFO] Finished at: Fri Jun 19 10:44:03 CEST 2009
[INFO] Final Memory: 32M/99M
[INFO] ------------------------------------------------------------------------

4voto

Jon Skeet Punkte 1325502

Wenn ich mir die Zeile 358 der Head-Revision ansehe, vermute ich, dass irgendwo eine Version nicht definiert ist.

Ich "kenne" Maven nicht wirklich, aber ich würde vorschlagen, Ihre Versionen sorgfältig zu überprüfen. Natürlich ist es möglich, dass ich nicht auf denselben Quellcode schaue, den Sie verwenden - schauen Sie sich den Quellcode Ihrer aktuellen Version an, um zu sehen, was in DefaultArtifact.java Zeile 358 steht.

1voto

hakamairi Punkte 4042

Wenn die Versionen nicht leer sind, wie Jon-skeet vorgeschlagen hat, könnte es ein Fehler im maven-enforcer-plugin sein: https://issues.apache.org/jira/browse/MENFORCER-156

Im Wesentlichen setzt das maven-enforcer-plugin (zumindest in Version 1.3) "die MavenProject in einem Zustand, in dem es behauptet, dass alle Abhängigkeiten aufgelöst sind, aber die Artefaktdateien nicht gebunden sind."

Bei mir ist dies in Version 1.4.1 wieder aufgetreten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X