Author: veithen
Date: Sat Sep 12 20:14:39 2015
New Revision: 1702678
URL: http://svn.apache.org/r1702678
Log:
AXIS2-5720: Don't create a class loader that attempts to load libraries from
WEB-INF/lib.
Modified:
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/deployment/WarBasedAxisConfigurator.java
Modified:
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java
URL:
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java?rev=1702678&r1=1702677&r2=1702678&view=diff
==============================================================================
---
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java
(original)
+++
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java
Sat Sep 12 20:14:39 2015
@@ -800,11 +800,13 @@ public abstract class DeploymentEngine i
* @throws DeploymentException if there's a problem
*/
protected void setClassLoaders(String axis2repoURI) throws
DeploymentException {
- ClassLoader sysClassLoader =
-
Utils.getClassLoader(Thread.currentThread().getContextClassLoader(),
axis2repoURI,
- axisConfig.isChildFirstClassLoading());
-
- axisConfig.setSystemClassLoader(sysClassLoader);
+ if (axisConfig.getSystemClassLoader() == null) {
+ ClassLoader sysClassLoader =
+
Utils.getClassLoader(Thread.currentThread().getContextClassLoader(),
axis2repoURI,
+ axisConfig.isChildFirstClassLoading());
+
+ axisConfig.setSystemClassLoader(sysClassLoader);
+ }
if (servicesDir.exists()) {
axisConfig.setServiceClassLoader(
Utils.getClassLoader(axisConfig.getSystemClassLoader(),
servicesDir,
Modified:
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/deployment/WarBasedAxisConfigurator.java
URL:
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/deployment/WarBasedAxisConfigurator.java?rev=1702678&r1=1702677&r2=1702678&view=diff
==============================================================================
---
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/deployment/WarBasedAxisConfigurator.java
(original)
+++
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/deployment/WarBasedAxisConfigurator.java
Sat Sep 12 20:14:39 2015
@@ -226,6 +226,10 @@ public class WarBasedAxisConfigurator ex
}
}
if (repository != null) {
+ // WEB-INF contains a lib folder, but we don't want to
create a class loader that
+ // attempts to load libraries from there (in particular
with parent last as class
+ // loading policy).
+
axisConfig.setSystemClassLoader(Thread.currentThread().getContextClassLoader());
loadRepository(repository);
log.debug("loaded repository from /WEB-INF folder
(unpacked war)");
}
@@ -235,6 +239,7 @@ public class WarBasedAxisConfigurator ex
URL url = config.getServletContext().getResource("/WEB-INF/");
if (url != null) {
repository = url.toString();
+
axisConfig.setSystemClassLoader(Thread.currentThread().getContextClassLoader());
loadRepositoryFromURL(url);
log.debug("loaded repository from /WEB-INF/ folder (URL)");
}