diff --git a/WHATSNEW b/WHATSNEW index 95800a56f..d001045d4 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -14,6 +14,7 @@ Fixed bugs: Bugzilla report 40207. * Macro element did not include top level Text. Bugzilla report 36803. * AntClassLoader did not isolate resources when isolate was set. Bugzilla report 38747. +* Diagnostics broken when using java 1.4. Bugzilla report 40395. Other changes: -------------- diff --git a/src/main/org/apache/tools/ant/Diagnostics.java b/src/main/org/apache/tools/ant/Diagnostics.java index 3ae771d04..f4a376922 100644 --- a/src/main/org/apache/tools/ant/Diagnostics.java +++ b/src/main/org/apache/tools/ant/Diagnostics.java @@ -600,8 +600,12 @@ public final class Diagnostics { printProperty(out, ProxySetup.SOCKS_PROXY_PORT); printProperty(out, ProxySetup.SOCKS_PROXY_USERNAME); printProperty(out, ProxySetup.SOCKS_PROXY_PASSWORD); - - final String proxyDiagClassname="org.apache.tools.ant.util.java15.ProxyDiagnostics"; + + if (JavaEnvUtils.getJavaVersionNumber() < 15) { + return; + } + final String proxyDiagClassname + = "org.apache.tools.ant.util.java15.ProxyDiagnostics"; try { Class proxyDiagClass = Class.forName(proxyDiagClassname); Object instance =proxyDiagClass.newInstance(); @@ -611,12 +615,11 @@ public final class Diagnostics { //not included, do nothing } catch (IllegalAccessException e) { //not included, do nothing - } catch (InstantiationException e) { //not included, do nothing - + } catch (NoClassDefFoundError e) { + // not included, to nothing } - } }