You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by se...@james.apache.org on 2004/10/08 21:32:51 UTC
[jira] Updated: (JAMES-325) org.apache.james.transport.Loader supplies malformed URLs to the classpath for the mailet class loader
The following issue has been updated:
Updater: Allen D. Ball (mailto:ball@iprotium.com)
Date: Fri, 8 Oct 2004 12:31 PM
Comment:
Actual patch included in the text of the report
Changes:
Attachment changed to Loader.diff
---------------------------------------------------------------------
For a full history of the issue, see:
http://issues.apache.org/jira/browse/JAMES-325?page=history
---------------------------------------------------------------------
View the issue:
http://issues.apache.org/jira/browse/JAMES-325
Here is an overview of the issue:
---------------------------------------------------------------------
Key: JAMES-325
Summary: org.apache.james.transport.Loader supplies malformed URLs to the classpath for the mailet class loader
Type: Bug
Status: Unassigned
Priority: Major
Project: James
Components:
James Core
Versions:
2.2.1
Assignee:
Reporter: Allen D. Ball
Created: Fri, 8 Oct 2004 12:30 PM
Updated: Fri, 8 Oct 2004 12:31 PM
Environment: Linux/J2SDK 1.4.2
Description:
An attempt to load a property file via the mailet class loader getResourceAsStream() method always fails because the URLs supplied to the classpath of the form:
file://<JAMES>/apps/james/SAR-INF/lib/custom.jar
If a properties file is loaded as a resource from this class path element, the URL looks like:
jar:file://<JAMES>/apps/james/SAR-INF/lib/custom.jar!properties
The URL connection handler for FTP is invoked and the resource isn't found. The issue is the extra '/' in the pathname portion of the URL.
The following patch fixes the issue in my environment. Thanks for considering it.
--- ./src/java/org/apache/james/transport/Loader.java.orig 2004-03-14 22:54:18.000000000 -0800
+++ ./src/java/org/apache/james/transport/Loader.java 2004-10-08 11:57:08.000000000 -0700
@@ -92,11 +92,11 @@
Vector jarlist = new Vector();
URL[] classPath = null;
try {
- jarlist.add(new URL("file:///" + baseDirectory + "/SAR-INF/classes/"));
+ jarlist.add(new File(baseDirectory + "/SAR-INF/classes/").toURL());
} catch (MalformedURLException e) {
logger.error(
"can't add "
- + "file:///"
+ + "file:"
+ baseDirectory
+ "/SAR-INF/classes/ to mailet classloader");
}
@@ -104,11 +104,11 @@
for (int i = 0; i < flist.length; i++) {
try {
if (flist[i].indexOf("jar") == flist[i].length() - 3) {
- jarlist.add(new URL("file:///" + baseDirectory +"/SAR-INF/lib/"+ flist[i]));
- logger.debug("added file:///" + baseDirectory +"/SAR-INF/lib/" + flist[i] + " to mailet Classloader");
+ jarlist.add(new File(baseDirectory +"/SAR-INF/lib/"+ flist[i]).toURL());
+ logger.debug("added file:" + baseDirectory +"/SAR-INF/lib/" + flist[i] + " to mailet Classloader");
}
} catch (MalformedURLException e) {
- logger.error("can't add file:///" + baseDirectory +"/SAR-INF/lib/"+ flist[i] + " to mailet classloader");
+ logger.error("can't add file:" + baseDirectory +"/SAR-INF/lib/"+ flist[i] + " to mailet classloader");
}
}
}
---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org