Could you post a stack trace for this new failure?
Are you able to instantiate an instance of javax.mail.Multipart in your
code?
I have a suspicion that the problem is with the classloader used to load
the SMTPAppender class, not the classloader configuration of your app
itself.
Rick
Xh wrote:
Hi David!
Now I use both org.apache.geronimo.configs/javamail and
org.apache.geronimo.javamail/geronimo-javamail_1.4_mail dependencies.
I did just like You asked, I've configured my SMTPAppender programmatically (in
servlet's init method):
SMTPAppender newAppender = new SMTPAppender();
newAppender.setSMTPDebug(true);
newAppender.setSMTPHost("HOST.pl");
newAppender.setSMTPUsername("USERXX");
newAppender.setSMTPPassword("****");
newAppender.setFrom("[EMAIL PROTECTED]");
newAppender.setTo("[EMAIL PROTECTED]");
newAppender.setSubject("Test!");
newAppender.setThreshold(Level.INFO);
newAppender.setLayout(new org.apache.log4j.SimpleLayout());
Logger.getRootLogger().addAppender(newAppender);
The result is still the same:
java.lang.NoClassDefFoundError: javax/mail/Multipart
org.xh.log4jtest.Test.init(Test.java:25)
what should I do now?
best regards
Łukasz
----- Original Message ----
From: David Jencks <[EMAIL PROTECTED]>
To: [email protected]
Sent: Thursday, 6 September, 2007 2:25:03 AM
Subject: Re: G2.0.1 geronimo-javamail dependency is not loading?
1. you should use:
<dependency>
<groupId>org.apache.geronimo.configs</groupId>
<artifactId>javamail</artifactId>
<type>car</type>
</dependency>
to minimize the chances of ClassCastException due to loading javamail
in the wrong classloader
2. this still won't work unless log4j is using the
public static Class<?> forName(String name, boolean initialize,
ClassLoader loader)
method with the ThreadContextClassLoader. Can you construct the
appender yourself in your servlet init method, where you _can_ access
javamail classes via the above dependency, and register it with log4j
in code?
thanks
david jencks
On Sep 5, 2007, at 4:22 PM, Xh wrote:
Hi All!
I have very strange problem.
In my geronimo-web.xml I wrote:
<dependency>
<groupId>repository.org.apache.geronimo.javamail</
groupId>
<artifactId>geronimo-javamail_1.4_mail</artifactId>
<version>1.2</version>
<type>jar</type>
</dependency>
but when SMTPAppender for Log4j is being loaded I get:
java.lang.NoClassDefFoundError: javax/mail/Multipart
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
java.lang.Class.getConstructor0(Class.java:2699)
java.lang.Class.newInstance0(Class.java:326)
java.lang.Class.newInstance(Class.java:308)
org.apache.log4j.xml.DOMConfigurator.parseAppender
(DOMConfigurator.java:174)
org.apache.log4j.xml.DOMConfigurator.findAppenderByName
(DOMConfigurator.java:150)
org.apache.log4j.xml.DOMConfigurator.findAppenderByReference
(DOMConfigurator.java:163)
org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement
(DOMConfigurator.java:425)
org.apache.log4j.xml.DOMConfigurator.parseRoot
(DOMConfigurator.java:394)
org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:829)
org.apache.log4j.xml.DOMConfigurator.doConfigure
(DOMConfigurator.java:712)
org.apache.log4j.xml.DOMConfigurator.doConfigure
(DOMConfigurator.java:604)
org.apache.log4j.xml.DOMConfigurator.configure
(DOMConfigurator.java:733)
org.xh.log4jtest.Test.init(Test.java:21)
I've looked the repository/org/apache/geronimo/javamail/geronimo-
javamail_1.4_mail/1.2/geronimo-javamail_1.4_mail-1.2.jar file
and I can see that there is javax/mail/Multipart.class file.
Is geronimo not loading my dependency or is it something else?
best regards
Łukasz
___________________________________________________________
Yahoo! Answers - Got a question? Someone out there knows the
answer. Try it
now.
http://uk.answers.yahoo.com/
___________________________________________________________
Want ideas for reducing your carbon footprint? Visit Yahoo! For Good http://uk.promotions.yahoo.com/forgood/environment.html