[ https://issues.apache.org/jira/browse/MNG-7842?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vladimir Sitnikov updated MNG-7842: ----------------------------------- Description: I have a problem that Maven discards **all** transitive dependencies when a single of them misses {{<version>}}. It breaks workflows, and it is not clear why Maven behaves like that. I'm using Maven 3.8.6. Sample: {code: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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>TestBugMaven</artifactId> <version>1.0-SNAPSHOT</version> <properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.apache.jmeter</groupId> <artifactId>ApacheJMeter_core</artifactId> <version>5.6.1</version> </dependency> </dependencies> </project> {code} Test: {{mvn dependency:tree}} Output: {noformat} [WARNING] The POM for org.apache.jmeter:ApacheJMeter_core:jar:5.6.1 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details [INFO] [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ TestBugMaven --- [INFO] org.example:TestBugMaven:jar:1.0-SNAPSHOT [INFO] \- org.apache.jmeter:ApacheJMeter_core:jar:5.6.1:compile {noformat} Frankly speaking, I do not understand why Maven discards ALL transitive dependencies in case it observes a single one with "missing version". Note: adding {{dependencyManagement}} does not seem to fix the case, so it is even more confusing. The following still discards transitive dependencies: {code:xml} <dependencyManagement> <dependencies> <dependency> <groupId>com.google.auto.service</groupId> <artifactId>auto-service-annotations</artifactId> <scope>compile</scope> <version>1.1.1</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.apache.jmeter</groupId> <artifactId>ApacheJMeter_core</artifactId> <version>5.6.1</version> </dependency> </dependencies> {code} was: I have a problem that Maven discards **all** transitive dependencies. I'm using Maven 3.8.6. Sample: {code: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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>TestBugMaven</artifactId> <version>1.0-SNAPSHOT</version> <properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.apache.jmeter</groupId> <artifactId>ApacheJMeter_core</artifactId> <version>5.6.1</version> </dependency> </dependencies> </project> {code} Test: {{mvn dependency:tree}} Output: {noformat} [WARNING] The POM for org.apache.jmeter:ApacheJMeter_core:jar:5.6.1 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details [INFO] [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ TestBugMaven --- [INFO] org.example:TestBugMaven:jar:1.0-SNAPSHOT [INFO] \- org.apache.jmeter:ApacheJMeter_core:jar:5.6.1:compile {noformat} Frankly speaking, I do not understand why Maven discards ALL transitive dependencies in case it observes a single one with "missing version". Note: adding {{dependencyManagement}} does not seem to fix the case, so it is even more confusing. The following still discards transitive dependencies: {code:xml} <dependencyManagement> <dependencies> <dependency> <groupId>com.google.auto.service</groupId> <artifactId>auto-service-annotations</artifactId> <scope>compile</scope> <version>1.1.1</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.apache.jmeter</groupId> <artifactId>ApacheJMeter_core</artifactId> <version>5.6.1</version> </dependency> </dependencies> {code} > Keep using transitive dependencies even if one of the declarations misses a > version > ----------------------------------------------------------------------------------- > > Key: MNG-7842 > URL: https://issues.apache.org/jira/browse/MNG-7842 > Project: Maven > Issue Type: Improvement > Components: Core, Dependencies > Reporter: Vladimir Sitnikov > Priority: Major > > I have a problem that Maven discards **all** transitive dependencies when a > single of them misses {{<version>}}. It breaks workflows, and it is not clear > why Maven behaves like that. > I'm using Maven 3.8.6. > Sample: > {code: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/xsd/maven-4.0.0.xsd"> > <modelVersion>4.0.0</modelVersion> > <groupId>org.example</groupId> > <artifactId>TestBugMaven</artifactId> > <version>1.0-SNAPSHOT</version> > <properties> > <maven.compiler.source>17</maven.compiler.source> > <maven.compiler.target>17</maven.compiler.target> > <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> > </properties> > <dependencies> > <dependency> > <groupId>org.apache.jmeter</groupId> > <artifactId>ApacheJMeter_core</artifactId> > <version>5.6.1</version> > </dependency> > </dependencies> > </project> > {code} > Test: {{mvn dependency:tree}} > Output: > {noformat} > [WARNING] The POM for org.apache.jmeter:ApacheJMeter_core:jar:5.6.1 is > invalid, transitive dependencies (if any) will not be available, enable debug > logging for more details > [INFO] > [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ TestBugMaven --- > [INFO] org.example:TestBugMaven:jar:1.0-SNAPSHOT > [INFO] \- org.apache.jmeter:ApacheJMeter_core:jar:5.6.1:compile > {noformat} > Frankly speaking, I do not understand why Maven discards ALL transitive > dependencies in case it observes a single one with "missing version". > Note: adding {{dependencyManagement}} does not seem to fix the case, so it is > even more confusing. > The following still discards transitive dependencies: > {code:xml} > <dependencyManagement> > <dependencies> > <dependency> > <groupId>com.google.auto.service</groupId> > <artifactId>auto-service-annotations</artifactId> > <scope>compile</scope> > <version>1.1.1</version> > </dependency> > </dependencies> > </dependencyManagement> > <dependencies> > <dependency> > <groupId>org.apache.jmeter</groupId> > <artifactId>ApacheJMeter_core</artifactId> > <version>5.6.1</version> > </dependency> > </dependencies> > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)