This appears to be maven-release related, because this works in version 3.3.9, but not in 3.5.4 or 3.6.0.
Anyone know a workaround? -Marshall On 11/1/2018 9:49 AM, Marshall Schor wrote: > also tried with just released maven 3.6.0 - same behavior. > > On 11/1/2018 9:34 AM, Marshall Schor wrote: >> Hi, >> >> I can get parent pom relative path to work from a top level pom referencing a >> subfolder at the 1st level. >> >> But it fails for me when the top level includes a <module> sub project >> contained >> in another 1st level folder next to the parent pom's folder, where that >> project's pom references the parent-pom using ../parent/pom.xml. >> >> I include here a trivial example, with the folder structure and the poms. >> You >> can see the failure by typing mvn help:effective-pom after cd'ing to the top >> project's folder. >> >> Here's the folder structure: >> mvntst <- top folder >> parent <- subfolder having parent pom >> subproj <- subfolder having a sub project >> >> Using maven version 3.5.4 (current), running on Windows 10, with Java 8 >> >> The three poms: >> >> in mvntst folder (the top level folder) >> >> <?xml version="1.0" encoding="UTF-8"?> >> <project xmlns="http://maven.apache.org/POM/4.0.0" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 >> http://maven.apache.org/xsd/maven-4.0.0.xsd"> >> <modelVersion>4.0.0</modelVersion> >> <groupId>mvntst</groupId> >> <artifactId>top</artifactId> >> <packaging>pom</packaging> >> <parent> >> <groupId>mvntst</groupId> >> <artifactId>parent</artifactId> >> <version>1.0.0</version> >> <relativePath>parent/pom.xml</relativePath> <!-- works, finds the >> parent --> >> </parent> >> <modules> >> <module>subproj</module> >> </modules> >> </project> >> >> in parent subfolder: >> >> <?xml version="1.0" encoding="UTF-8"?> >> <project xmlns="http://maven.apache.org/POM/4.0.0" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 >> http://maven.apache.org/xsd/maven-4.0.0.xsd"> >> <modelVersion>4.0.0</modelVersion> >> <groupId>mvntst</groupId> >> <artifactId>parent</artifactId> >> <version>1.0.0</version> >> <packaging>pom</packaging> >> </project> >> >> in subproj subfolder: >> >> <?xml version="1.0" encoding="UTF-8"?> >> <project xmlns="http://maven.apache.org/POM/4.0.0" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 >> http://maven.apache.org/xsd/maven-4.0.0.xsd"> >> <modelVersion>4.0.0</modelVersion> >> <groupId>mvntst</groupId> >> <artifactId>subproj</artifactId> >> <parent> >> <groupId>mvntst</groupId> >> <artifactId>parent</artifactId> >> <version>1.0.0</version> >> <relativePath>../parent/pom.xml</relativePath> <!-- fails --> >> </parent> >> </project> >> >> In doing various tests: if the top pom is missing its relative-path, you get >> an >> expected >> Non-resolvable parent POM for mvntst:top:[unknown-version]: Failure to find >> mvntst:parent:pom:1.0.0 >> >> putting in the relative-path into the top fixes this, and results in finding >> the >> parent for the top level. >> If you don't have a <modules> section in the top level, the mvn >> help:effective-pom works OK. >> >> Putting in the <modules> section gives the error: >> Non-resolvable parent POM for mvntst:subproj:[unknown-version]: Failure to >> find >> mvntst:parent:pom:1.0.0 >> >> Adding the <version> to the artifact IDs for the top and subproj doesn't >> help, >> except to change the error message to include the version instead of >> [unknown-version] >> >> Any idea why relative-path works for the top level pom referencing a direct >> subfolder, but the subproject's reference fails? Is this not supported by >> maven? >> >> Thanks. -Marshall >> >> P.S., a great improvement for maven would be to have the error message for >> this >> which says: >> 'parent.relativePath' points at wrong local POM >> be augmented to say why. For example, >> the relative path resolved to xxxxxxxx, and there was no file there, or >> the relative path resolved to xxxxxxxx, and that file was not a "pom" xml >> file, or >> the relative path resolved to xxxxxxxx, and the pom found there didn't >> pass >> this validation test (saying what exactly failed) >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
