At 02:55 PM 7/12/2002 +0900, you wrote:
>Peter,
> I got most of this done, but am trying to figure out how Phoenix
> should be finding the ext
>jars. The ext directory already existed, but jars placed there would not
>be found.
right. The ext dir is there for applications that contain jars that declare
"Optional Dependecies"/"Extensions". The extensions will attempt to be
loaded from the ext dir. SO if myapp/SAR-INF/lib/cornerstone.jar had
something like
Extension-List: foo
foo-Extension-Name: Foo API
foo-Specification-Version: 1.1
...
Then phoenix would try and find the "foo" library in ext dir.
As the lib directory was not being included in the initial class path to
load the JVM, I assumed
>that the Main class would be adding the files there and using them to load
>the rest of Phoenix.
>But that does not appear to be happening right now. Main finds the
>phoenix-engine.jar, but the
>other jars are only available because of the -Djava.ext.dirs property.
I just updated the code so that aall of the libraries contianed in
$PHOENIX_HOME/bin/lib are loaded into the Containers classloader (not
visible from .sar files). So thus we can create adirectory like
jakarta-avalon-phoenix/lib/container
and have all of its jars copied to dist/bin/lib.
SO these are all the jars that are not shared with .sar files (CLI, Baxter,
logkit, excalibur-logger, jmx, containerkit....)
How does that sound?
> I think that the needed fix is to create a method in Main which creates
> a classpath of all jar and
>zip files in the lib and ext directories. This classpath will then be
>used to load and launch the
>CLIMain class. Currently, the phoenix-engine.jar file is located in the
>bin directory and then
>all other classes are found in the "JVM ext" directory.
done.
> Doing this would also make it possible to move the phoenix-engine.jar
> file into the lib directory.
>Is there any reason why the phoenix-loader.jar file is not over there as well?
Mainly to isolate the apps from changes in the container. ie We have had a
few bug reports when we upgraded threading because cornerstone.jar was
relying on previous version of libraries being in dist/lib .
Having all the container jars in separate jar helps us avoid these issues
... hopefully ;)
>Also:
>Any reason why the following is in the dist-lite task?
no idea.
Cheers,
Peter Donald
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"Faced with the choice between changing one's mind,
and proving that there is no need to do so - almost
everyone gets busy on the proof."
- John Kenneth Galbraith
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>