You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2015/09/12 22:14:40 UTC
svn commit: r1702678 - in
/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/deployment:
DeploymentEngine.java WarBasedAxisConfigurator.java
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)");
}