jeudi 2 avril 2020

Jenkins throw java.lang.NoSuchFieldException: theCaseInsensitiveEnvironment

I am trying to set environment variable through unit test, when I am running my code on local machine it is working fine.

But when I deploying it on jenkins pipeline it start throwing an exception

Exception :-

java.lang.NoSuchFieldException: theCaseInsensitiveEnvironment

Code snippet :-

Class<?> processEnvironmentClass = Class.forName("java.lang.ProcessEnvironment");
            Field theEnvironmentField = processEnvironmentClass.getDeclaredField("theEnvironment");
            theEnvironmentField.setAccessible(true);
            Map<String, String> env = (Map<String, String>) theEnvironmentField.get(null);
            env.clear();
            env.putAll(newenv);
            Field theCaseInsensitiveEnvironmentField = processEnvironmentClass.getDeclaredField("theCaseInsensitiveEnvironment");
            theCaseInsensitiveEnvironmentField.setAccessible(true);
            Map<String, String> cienv = (Map<String, String>) theCaseInsensitiveEnvironmentField.get(null);
            cienv.clear();
            cienv.putAll(newenv);




Aucun commentaire:

Enregistrer un commentaire