Guys,
I hate classpath issues, and don't have much of a clue about classloaders.. so
bear with me if I seem slightly at odds with this..
Where can I put jar files, outside of the sar file, and have their contents
picked up by the classloader for this context?
The reason I want to do this is as follows..
I'd like to have a James distribution which is organised to make life easy for
mailet developers, but if the SAR-INF/lib contents are not accessible except
when its running, and even then the work directory name is not predictable,
they will need another "visible" copy of the mailet api to compile against. I'd
rather put the Mailet API jar file elsewhere to start with than distribute two
copies.
Next, once some geezer has written his mailets he wants to drop class files or
a jar containing his package into james for testing.
Perhaps for IP reasons, or because they are destined for some other application
tarring them into James is not an option.
I dont know if there's some way I can configure the James classpath (cf the
phoenix one), I've tried meddling to no avail.
Feel free to talk down to me, as long as it gets me my answer ;-)
d.
PS I've tried putting jars into $PHOENIX_HOME/lib but get this exception:
java.lang.NoClassDefFoundError: org/apache/mailet/MailetContext
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:509)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.jav
3)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:246)
at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at org.apache.avalon.phoenix.components.classloader.PolicyClassLoade
ndClass(PolicyClassLoader.java:98)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
at org.apache.avalon.phoenix.tools.verifier.SarVerifier.verifyBlockT
SarVerifier.java:352)
at org.apache.avalon.phoenix.tools.verifier.SarVerifier.verifyBlocks
(SarVerifier.java:335)
at org.apache.avalon.phoenix.tools.verifier.SarVerifier.verifySar(Sa
ifier.java:124)
at org.apache.avalon.phoenix.components.deployer.DefaultDeployer.dep
DefaultDeployer.java:281)
at org.apache.avalon.phoenix.components.embeddor.DefaultEmbeddor.dep
ile(DefaultEmbeddor.java:486)
at org.apache.avalon.phoenix.components.embeddor.DefaultEmbeddor.dep
ile(DefaultEmbeddor.java:479)
at org.apache.avalon.phoenix.components.embeddor.DefaultEmbeddor.dep
iles(DefaultEmbeddor.java:467)
at org.apache.avalon.phoenix.components.embeddor.DefaultEmbeddor.dep
efaultApplications(DefaultEmbeddor.java:457)
at org.apache.avalon.phoenix.components.embeddor.DefaultEmbeddor.exe
(DefaultEmbeddor.java:220)
at org.apache.avalon.phoenix.frontends.CLIMain.run(CLIMain.java:151)
at org.apache.avalon.phoenix.frontends.CLIMain.execute(CLIMain.java:
at org.apache.avalon.phoenix.frontends.CLIMain.main(CLIMain.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorI
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodA
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.avalon.phoenix.launcher.Main.startup(Main.java:91)
at org.apache.avalon.phoenix.launcher.Main.main(Main.java:44)
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>