diff --git a/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java b/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java index 9c4cede1c2c3..3bb622caa8b2 100644 --- a/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java +++ b/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java @@ -25,6 +25,7 @@ import org.apache.maven.eventspy.internal.EventSpyDispatcher; import org.apache.maven.execution.MavenExecutionRequest; import org.apache.maven.repository.internal.MavenRepositorySystemUtils; +import org.apache.maven.rtinfo.RuntimeInformation; import org.apache.maven.settings.Mirror; import org.apache.maven.settings.Proxy; import org.apache.maven.settings.Server; @@ -93,6 +94,9 @@ public class DefaultRepositorySystemSessionFactory @Inject MavenRepositorySystem mavenRepositorySystem; + @Inject + private RuntimeInformation runtimeInformation; + public DefaultRepositorySystemSession newRepositorySession( MavenExecutionRequest request ) { DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession(); @@ -244,28 +248,10 @@ else if ( request.isUpdateSnapshots() ) private String getUserAgent() { - return "Apache-Maven/" + getMavenVersion() + " (Java " + System.getProperty( "java.version" ) + "; " + String version = runtimeInformation.getMavenVersion(); + version = version.isEmpty() ? version : "/" + version; + return "Apache-Maven" + version + " (Java " + System.getProperty( "java.version" ) + "; " + System.getProperty( "os.name" ) + " " + System.getProperty( "os.version" ) + ")"; } - private String getMavenVersion() - { - Properties props = new Properties(); - - try ( InputStream is = getClass().getResourceAsStream( - "/META-INF/maven/org.apache.maven/maven-core/pom.properties" ) ) - { - if ( is != null ) - { - props.load( is ); - } - } - catch ( IOException e ) - { - logger.debug( "Failed to read Maven version", e ); - } - - return props.getProperty( "version", "unknown-version" ); - } - }