gnodet opened a new issue, #11355: URL: https://github.com/apache/maven/issues/11355
## Description Maven 4.0.0-rc-4 and Maven 4.0.0-SNAPSHOT (20251029.072531-121) fail to resolve properties in repository URLs defined in parent POMs of transitive dependencies, resulting in `IllegalArgumentException: Invalid RemoteRepositories`. ## Environment - **Maven Version**: 4.0.0-rc-4 and 4.0.0-SNAPSHOT (20251029.072531-121) - **Java Version**: 21.0.9 (Eclipse Adoptium) - **OS**: Linux ## Steps to Reproduce 1. Create a minimal Maven project that depends on `io.debezium:debezium-connector-db2:3.3.1.Final` 2. Run `mvn clean compile` ### Minimal Reproducer POM ```xml <?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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.apache.maven.reproducer</groupId> <artifactId>reproducer-debezium</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <properties> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <debezium-version>3.3.1.Final</debezium-version> <publish.snapshot.url>https://oss.sonatype.org/content/repositories/snapshots</publish.snapshot.url> </properties> <dependencies> <dependency> <groupId>io.debezium</groupId> <artifactId>debezium-connector-db2</artifactId> <version>${debezium-version}</version> </dependency> </dependencies> </project> ``` ### Optional: Add `.mvn/maven.config` ``` --ignore-transitive-repositories ``` ## Expected Behavior Maven should resolve the property `${publish.snapshot.url}` from the `debezium-build-parent` POM and successfully resolve dependencies. ## Actual Behavior ### Maven 4.0.0-rc-4 ``` [ERROR] Failed to execute goal on project reproducer-debezium: Could not collect dependencies for project org.apache.maven.reproducer:reproducer-debezium:jar:1.0-SNAPSHOT [ERROR] java.lang.IllegalArgumentException: Invalid Version Range Request: io.debezium:debezium-parent:pom:3.3.1.Final < [central (https://repo.maven.apache.org/maven2, default, releases), central-snapshots (${publish.snapshot.url}, default, releases+snapshots)] [ERROR] Caused by: Invalid Version Range Request: io.debezium:debezium-parent:pom:3.3.1.Final < [central (https://repo.maven.apache.org/maven2, default, releases), central-snapshots (${publish.snapshot.url}, default, releases+snapshots)]: Failed to collect dependencies at io.debezium:debezium-connector-db2:jar:3.3.1.Final ``` ### Maven 4.0.0-SNAPSHOT (20251029.072531-121) ``` [ERROR] Failed to execute goal on project reproducer-debezium: Could not collect dependencies for project org.apache.maven.reproducer:reproducer-debezium:jar:1.0-SNAPSHOT [ERROR] java.lang.IllegalArgumentException: Invalid RemoteRepositories: [central (https://repo.maven.apache.org/maven2, default, releases), central-snapshots (${publish.snapshot.url}, default, releases+snapshots)] [ERROR] Caused by: Invalid RemoteRepositories: [central (https://repo.maven.apache.org/maven2, default, releases), central-snapshots (${publish.snapshot.url}, default, releases+snapshots)]: Failed to collect dependencies at io.debezium:debezium-connector-db2:jar:3.3.1.Final ``` ## Root Cause The property `${publish.snapshot.url}` is defined in the `debezium-build-parent` POM (https://repo.maven.apache.org/maven2/io/debezium/debezium-build-parent/3.3.1.Final/debezium-build-parent-3.3.1.Final.pom): ```xml <properties> <publish.snapshot.url>https://central.sonatype.com/repository/maven-snapshots/</publish.snapshot.url> </properties> <distributionManagement> <snapshotRepository> <id>central-snapshots</id> <name>Maven Central Snapshots</name> <url>${publish.snapshot.url}</url> </snapshotRepository> </distributionManagement> ``` Maven 4 is not resolving this property when processing the repository URL, leaving it as `${publish.snapshot.url}` in the error message. ## Additional Notes - Even defining the property in the reproducer POM does not fix the issue - Using `--ignore-transitive-repositories` flag does not fix the issue - Maven 3.x handles this correctly - This issue blocks building Apache Camel with Maven 4 ## Workaround None found. The only workaround is to use Maven 3.x. ## Related Issues This is one of three dependency resolution issues found when building Apache Camel with Maven 4. The other two issues (related to `org.apache:apache:pom:21`) appear to be fixed in the latest snapshot. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
