@@ -76,15 +76,22 @@ public static Library createSynapseLibrary(String libPath, ClassLoader classLoad
76
76
if (deployedLibClassLoader == null ) {
77
77
//create a ClassLoader for loading this synapse lib classes/resources
78
78
try {
79
- ClassLoader libLoader ;
80
79
if (classLoader != null ) {
81
- libLoader = Utils .getClassLoader (classLoader , extractPath , false );
80
+ synapseLib .setLibClassLoader (classLoader );
81
+ SynapseConfiguration .addLibraryClassLoader (libArtifactName , classLoader );
82
+ if (classLoader instanceof LibClassLoader ) {
83
+ try {
84
+ ((LibClassLoader ) classLoader ).addURL (new File (extractPath ).toURI ().toURL ());
85
+ } catch (MalformedURLException e ) {
86
+ throw new DeploymentException ("Error while adding URL to the classloader" , e );
87
+ }
88
+ }
82
89
} else {
83
- libLoader = Utils .getClassLoader (LibDeployerUtils .class .getClassLoader (),
90
+ ClassLoader libLoader = Utils .getClassLoader (LibDeployerUtils .class .getClassLoader (),
84
91
extractPath , false );
92
+ SynapseConfiguration .addLibraryClassLoader (libArtifactName , libLoader );
93
+ synapseLib .setLibClassLoader (libLoader );
85
94
}
86
- SynapseConfiguration .addLibraryClassLoader (libArtifactName , libLoader );
87
- synapseLib .setLibClassLoader (libLoader );
88
95
} catch (DeploymentException e ) {
89
96
throw new SynapseArtifactDeploymentException ("Error setting up lib classpath for Synapse" +
90
97
" Library : " + libFile .getAbsolutePath (), e );
0 commit comments