From 582d49213e537539eab020286e217e749f2a1f78 Mon Sep 17 00:00:00 2001 From: Jean Bisutti Date: Wed, 22 Jan 2025 16:22:35 +0100 Subject: [PATCH] Java agent class path warning printed from Java 11 --- .../agent/internal/init/FirstEntryPoint.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/FirstEntryPoint.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/FirstEntryPoint.java index 45c69a3fff8..9d79484b3ec 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/FirstEntryPoint.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/FirstEntryPoint.java @@ -126,6 +126,8 @@ public void init(EarlyInitAgentConfig earlyConfig) { // class path null with a Spring Boot executable JAR if (classPath != null // JAR name in Maven central, the user could have renamed it + && isJavaVersionEqualOrGreaterThan11() // -javaagent content added to the classpath in + // Java 1.8 && classPath.contains("applicationinsights-agent")) { startupLogger.warn( "The applicationinsights-agent JAR is in the class path. You should remove it because it could lead to unexpected results. You should configure the Java agent with -javaagent. You can also use the runtime attachment with Spring Boot applications."); @@ -151,6 +153,11 @@ public void init(EarlyInitAgentConfig earlyConfig) { } } + private static boolean isJavaVersionEqualOrGreaterThan11() { + String javaVersion = System.getProperty("java.vm.specification.version"); + return !"1.8".equals(javaVersion) && !"9".equals(javaVersion) && !"10".equals(javaVersion); + } + private static Map findEnvVariables() { Map env = System.getenv(); return env.entrySet().stream()