2009-06-19 7 views
2

Я получаю исключение NullPointerException, и мне это не нравится. Это большая сборка с несколькими подмодулями (которые немного отличаются от конфигурации maven), для большинства модулей она работает, но для некоторых нет. Есть идеи, что может быть проблемой?Плагин сборки Maven с ошибкой NullPointerException?

[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] ------------------------------------------------------------------------ 
+1

+1 для "и мне не нравится" –

ответ

3

Рассматривая строку 358 пересмотра головы, я предполагаю, что что-то, где-то не определена.

Я действительно не знаю «Maven», но я предлагаю внимательно проверить ваши версии. Конечно, возможно, что я не смотрю на тот же исходный код, который вы используете, - посмотрите на источник своей фактической версии, чтобы посмотреть, что находится в строке DefaultArtifact.java 358.

+1

Ваша идея привела меня на правильный путь. В самом деле, я не указывал версию в самой зависимости, потому что я переместил все объявления версий в блок управления зависимостями в * родительском проекте *, и версия, по-видимому, не решена, потому что объявлена ​​как диапазон, а не бетонная версия. Я считаю это ошибкой. – Mauli

+0

Спасибо, у меня была та же проблема. Оказывается, мой файл pom имел версию, установленную в application.property, которая не была определена. –

1

Если версии не сливать как Jon-тарелочки предположили, что это может быть специалист-силовик-плагин ошибка: https://issues.apache.org/jira/browse/MENFORCER-156

по существу, специалист-силовик-плагин (по крайней мере в версии 1.3) «ставит MavenProject в состоянии, в котором он утверждает, что все зависимости разрешены, но файлы артефактов не связаны ».

Для меня это повторено в версии 1.4.1.

Смежные вопросы