You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2006/07/11 22:35:34 UTC
svn commit: r420984 - in /geronimo/trunk/modules:
connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
web-builder/src/java/org/apache/geronimo/web/deployment/AbstractWebModuleBuilder.java
Author: djencks
Date: Tue Jul 11 13:35:34 2006
New Revision: 420984
URL: http://svn.apache.org/viewvc?rev=420984&view=rev
Log:
GERONIMO-2125. Fix manifest classpath for war in ear
Modified:
geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
geronimo/trunk/modules/web-builder/src/java/org/apache/geronimo/web/deployment/AbstractWebModuleBuilder.java
Modified: geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java?rev=420984&r1=420983&r2=420984&view=diff
==============================================================================
--- geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java (original)
+++ geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java Tue Jul 11 13:35:34 2006
@@ -261,6 +261,9 @@
// add the manifest classpath entries declared in the connector to the class loader
// we have to explicitly add these since we are unpacking the connector module
// and the url class loader will not pick up a manifiest from an unpacked dir
+ // N.B. If we ever introduce a separate configuration/module for a rar inside an ear
+ // this will need to be modified to use "../" instead of module.getTargetPath().
+ // See AbstractWebModuleBuilder.
earContext.addManifestClassPath(moduleFile, URI.create(module.getTargetPath()));
URI targetURI = URI.create(module.getTargetPath() + "/");
Modified: geronimo/trunk/modules/web-builder/src/java/org/apache/geronimo/web/deployment/AbstractWebModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/trunk/modules/web-builder/src/java/org/apache/geronimo/web/deployment/AbstractWebModuleBuilder.java?rev=420984&r1=420983&r2=420984&view=diff
==============================================================================
--- geronimo/trunk/modules/web-builder/src/java/org/apache/geronimo/web/deployment/AbstractWebModuleBuilder.java (original)
+++ geronimo/trunk/modules/web-builder/src/java/org/apache/geronimo/web/deployment/AbstractWebModuleBuilder.java Tue Jul 11 13:35:34 2006
@@ -86,6 +86,13 @@
protected static final AbstractNameQuery ENTITY_BEAN_PATTERN;
protected final Kernel kernel;
+ /**
+ * Manifest classpath entries in a war configuration must be resolved relative to the war configuration, not the
+ * enclosing ear configuration. Resolving relative to he war configuration using this offset produces the same
+ * effect as URI.create(module.targetPath()).resolve(mcpEntry) executed in the ear configuration.
+ */
+ private static final URI RELATIVE_MODULE_BASE_URI = URI.create("../");
+
protected AbstractWebModuleBuilder(Kernel kernel) {
this.kernel = kernel;
}
@@ -226,7 +233,7 @@
// add the manifest classpath entries declared in the war to the class loader
// we have to explicitly add these since we are unpacking the web module
// and the url class loader will not pick up a manifest from an unpacked dir
- moduleContext.addManifestClassPath(warFile, URI.create(module.getTargetPath()));
+ moduleContext.addManifestClassPath(warFile, RELATIVE_MODULE_BASE_URI);
} catch (IOException e) {
throw new DeploymentException("Problem deploying war", e);