Domanda

A proposito di due volte al giorno otteniamo un NullPointerException nel nostro accumulo:

[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

Questo avviene a volte casuali, e la prossima build non sicuro.

Googled di questo fallimento e ha trovato nulla. Ho questa sensazione viscerale che questo può essere causato da un problema di concorrenza nel Maven-risorse-plugin.

Abbiamo ottenuto questo errore con Maven-risorse-plugin 2.4.3, e ora con 2,5. La nostra versione è Maven 3.0.3.

eseguire la generazione su TeamCity con i seguenti parametri:

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

Qualsiasi tipo di aiuto per la risoluzione di questo problema è apprezzato.

È stato utile?

Soluzione

Provare a eseguire Maven con -X e analizzare l'output di debug. Questo aiuto potrebbe. Almeno per me lo fa molto spesso.

Edit: Questo è il punto problematico:

113  public boolean filteredFileExtension( String fileName, List userNonFilteredFileExtensions )
114 {
115 List nonFilteredFileExtensions = new ArrayList( getDefaultNonFilteredFileExtensions() );

getDefault .. rendimenti null. Hai cambiato le nonFilteredExts in qualche modo? Perché sono popolati di default qui:

63  // ------------------------------------------------
64 // Plexus lifecycle
65 // ------------------------------------------------
66 public void initialize()
67 throws InitializationException
68 {
69 // jpg,jpeg,gif,bmp,png
70 this.defaultNonFilteredFileExtensions = new ArrayList( 5 );
71 this.defaultNonFilteredFileExtensions.add( "jpg" );
72 this.defaultNonFilteredFileExtensions.add( "jpeg" );
73 this.defaultNonFilteredFileExtensions.add( "gif" );
74 this.defaultNonFilteredFileExtensions.add( "bmp" );
75 this.defaultNonFilteredFileExtensions.add( "png" );
76 }

Dal momento che si sta costruendo in parallelo, questo potrebbe essere una condizione di competizione. Si dovrebbe davvero sollevare una questione a MRESOURCES .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top