Frage

Ungefähr zweimal am Tag erhalten wir in unserem Build eine NullPointerexception:

[06:44:23]: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:2.5:resources (default-resources) on project spring-lib: Execution default-resources of goal org.apache.maven.plugins:maven-resources-plugin:2.5:resources failed. NullPointerException -> [Help 1]
[06:44:23]: org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:2.5:resources (default-resources) on project spring-lib: Execution default-resources of goal org.apache.maven.plugins:maven-resources-plugin:2.5:resources failed.
[06:44:23]: at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225)
[06:44:23]: at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
[06:44:23]: at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
[06:44:23]: at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
[06:44:23]: at org.apache.maven.lifecycle.internal.LifecycleThreadedBuilder$1.call(LifecycleThreadedBuilder.java:167)
[06:44:23]: at org.apache.maven.lifecycle.internal.LifecycleThreadedBuilder$1.call(LifecycleThreadedBuilder.java:164)
[06:44:23]: at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
[06:44:23]: at java.util.concurrent.FutureTask.run(FutureTask.java:138)
[06:44:23]: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
[06:44:23]: at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
[06:44:23]: at java.util.concurrent.FutureTask.run(FutureTask.java:138)
[06:44:23]: at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[06:44:23]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[06:44:23]: at java.lang.Thread.run(Thread.java:619)
[06:44:23]: Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-resources of goal org.apache.maven.plugins:maven-resources-plugin:2.5:resources failed.
[06:44:23]: at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:110)
[06:44:23]: at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
[06:44:23]: ... 13 more
[06:44:23]: Caused by: java.lang.NullPointerException
[06:44:23]: at java.util.ArrayList.<init>(ArrayList.java:131)
[06:44:23]: at org.apache.maven.shared.filtering.DefaultMavenResourcesFiltering.filteredFileExtension(DefaultMavenResourcesFiltering.java:115)
[06:44:23]: at org.apache.maven.shared.filtering.DefaultMavenResourcesFiltering.filterResources(DefaultMavenResourcesFiltering.java:264)
[06:44:23]: at org.apache.maven.plugin.resources.ResourcesMojo.execute(ResourcesMojo.java:310)
[06:44:23]: at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
[06:44:23]: ... 14 more

Dies kommt zu zufälligen Zeiten und der nächste Build scheitert nicht.

Ich habe nach diesem Fehler gegoogelt und nichts gefunden. Ich habe das Bauchgefühl, dass dies durch ein Parallelitätsproblem im Maven-Ressourcen-Plugin verursacht werden kann.

Wir haben diesen Fehler mit Maven-Ressources-Plugin 2.4.3 und jetzt mit 2.5 erhalten. Unsere Maven -Version ist 3.0.3.

Wir führen den Build in TeamCity mit den folgenden Parametern aus:

Goals: install
Additional Maven command line parameters: -T 2C -e -P!releasex,integration 
-Dmaven.test.failure.ignore=true -Dmaven.test.error.ignore=true 
-Dmaven.test.haltafterfailure=false -Dmaven.junit.timeout=1000000
-DwarProject.packaging=jar

Jede Art von Hilfe zur Lösung dieses Problems wird geschätzt.

War es hilfreich?

Lösung

Versuchen Sie, Maven mitzuführen mit -X und analysieren Sie die Debug -Ausgabe. Dies könnte helfen. Zumindest für mich tut es sehr oft.

Bearbeiten: Dies ist der problematische Ort:

113  Öffentlichkeit Boolesche filteredFileExtension( Saite fileName, Aufführen userNonFilteredFileExtensions )
114 {
115 Aufführen nonFilteredFileExtensions = Neu Anordnungsliste( getDefaultNonFilteredFileextensionen() );

getDefault .. Rücksend null. Haben Sie die nicht filteredExte irgendwie geändert? Weil sie hier standardmäßig bevölkert sind:

63  // ------------------------------------------------
64 // Plexus lifecycle
65 // ------------------------------------------------
66 Öffentlichkeit Leere initialize()
67 Würfe Initialisierungxzeption
68 {
69 // jpg,jpeg,gif,bmp,png
70 Dies.defaultNonFilteredFileExtensions = Neu Anordnungsliste( 5 );
71 Dies.defaultNonFilteredFileExtensions.hinzufügen( "jpg" );
72 Dies.defaultNonFilteredFileExtensions.hinzufügen( "jpeg" );
73 Dies.defaultNonFilteredFileExtensions.hinzufügen( "gif" );
74 Dies.defaultNonFilteredFileExtensions.hinzufügen( "bmp" );
75 Dies.defaultNonFilteredFileExtensions.hinzufügen( "png" );
76 }

Da Sie parallel aufbauen, kann dies eine Rennbedingung sein. Sie sollten wirklich ein Problem bei aufwerfen Mresources.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top