The builds on a Jenkins node should be isolated. The paths of local repository should be distinct. Therefore we used the trick with EXECUTOR_NUMBER:
https://gitbox.apache.org/repos/asf?p=maven-jenkins-lib.git;a=blob;f=vars/asfMavenTlpPlgnBuild.groovy;h=e4576ac12e9dec73aee0540fa9aab37fd507d614;hb=HEAD#l150 This is the path and wrong because it is not distinct! Local Repo (linux-jdk11-m3.6.x_build): ../.maven_repositories/null The problem is that the code is not serialized on the particular Jenkins node and executor. Thus we observed errors in Archetype builds when running integration tests via maven-invoker-plugin: [INFO] Building: build-and-run-its\pom.xml [INFO] run post-build script verify.groovy WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/F:/short/.maven_repositories/null/org/codehaus/groovy/groovy-all/2.4.8/groovy-all-2.4.8.jar) to method java.lang.Object.finalize() So I moved the code into the targeting execution block: https://gitbox.apache.org/repos/asf?p=maven-jenkins-lib.git;a=commitdiff;h=aee445426dac012af4326c0b80c93422200c2a56 and the logs look promissing now: Local Repo (windows-jdk11-m3.6.x_build): ../.maven_repositories/0 Local Repo (windows-jdk12-m3.6.x_build): ../.maven_repositories/1 Local Repo (windows-jdk13-m3.6.x_build): ../.maven_repositories/2 -- Cheers Tibor
