avalon-phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <pe...@apache.org>
Subject Re: Sevak and the tools.jar file
Date Fri, 12 Jul 2002 22:56:35 GMT
At 02:55 PM 7/12/2002 +0900, you wrote:
>    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


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.


>   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 ;)

>Any reason why the following is in the dist-lite task?

no idea.


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:avalon-phoenix-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-phoenix-dev-help@jakarta.apache.org>

View raw message