I've got a case where we get random CI build failures. The error is: [FATAL] Non-resolvable parent POM: Could not find artifact com.issinc.jms.jms-thirdparty.installers:installer-parent:pom:11.8.0-SNAPSHOT in nexus (https://mavenserver/nexus/content/groups/public) and 'parent.relativePath' points at wrong local POM @ line 43, column 13
Here is the pom and build layout. - pom.xml (parent) This pom has level1 as module but does not have the others - level1 module -- pom.xml - level2 module (Has top level pom as parent) -- pom.xml - level3 module (Has top level pom as parent) -- pom.xml - level4 module (Has top level pom as parent) -- pom.xml Now for our CI builds they build this as 4 separate builds, here are what they checkout and build. - pom.xml (parent) - level1 -- pom.xml - level2 -- pom.xml - level3 -- pom.xml - level4 -- pom.xml The first build, builds pointing to the parent and deploys the parent pom to Nexus, this build always works. The level2 to level4 builds don't checkout the parent pom as that is not part of the reactor of the build, yet it is still the parent. What we expected to happen is that it would pull the parent pom from Nexus. We have verified that it does exist in Nexus yet it can't find it. This error is random sometimes it works and sometimes it does not. We have several build agents (14 or so). The error might be agent specific, e.g. if the same agent did the parent/level1 build then it works but not if a different agent did it (not sure if that is the case yet). What I'm wondering is what is the Maven rules for finding parent (snapshot) poms that are not part of the current reactor's build? We assumed it would follow the normal search order, e.g. local repo first, then Nexus but that does not seem to be happening. The error says it is looking in Nexus but it doesn't appear to be doing that rather it seems to be looking on the local hard drive for the pom via 'parent.relativePath' but we don't even use relativePath at all in any of these poms. Any idea what is going on? . -Dave
