You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Dain Sundstrom <da...@iq80.com> on 2005/12/19 22:09:35 UTC

Duplicate jars

I spent a bit of time looking at our release to determine why it is  
so large and discovered a lot of duplicate jars.

File                                     Count  Size     Dupe
-------------------------------------------------------------
  derby-10.0.2.1.jar                         3    2.1M     4.1M
  spring-1.2.2.jar                           3    1.7M     3.5M
  activemq-core-3.2.1.jar                    4  978.8K     2.9M
  castor-0.9.5.3.jar                         2    1.6M     1.6M
+xercesImpl-2.6.2.jar                       2  987.0K   987.0K
  jasper-compiler-5.5.12.jar                 3  395.6K   791.2K
  concurrent-1.3.4.jar                       4  184.8K   554.5K
  xstream-1.1.2.jar                          3  241.1K   482.2K
*mx4j-3.0.1.jar                             2  398.5K   398.5K
  activeio-1.1.jar                           3  183.0K   365.9K
*log4j-1.2.8.jar                            2  344.4K   344.4K
*cglib-nodep-2.1_3.jar                      2  316.6K   316.6K
*geronimo-util-1.0.jar                      2  242.2K   242.2K
*geronimo-kernel-1.0.jar                    2  223.8K   223.8K
  mx4j-remote-3.0.1.jar                      2  167.1K   167.1K
  commons-digester-1.6.jar                   2  164.5K   164.5K
  jasper-runtime-5.5.12.jar                  3   74.9K   149.8K
  activemq-ra-3.2.1.jar                      3   71.8K   143.7K
*geronimo-system-1.0.jar                    2  142.7K   142.7K
  activemq-optional-3.2.1.jar                3   70.4K   140.9K
  daytrader-ejb-1.0.jar                      2  140.5K   140.5K
  commons-el-1.0.jar                         2  109.7K   109.7K
  tranql-connector-1.1.jar                   3   52.7K   105.5K
  commons-logging-1.0.3.jar                  4   30.9K    92.6K
+xmlParserAPIs-2.2.1.jar                    2   81.1K    81.1K
  activecluster-1.1-SNAPSHOT.jar             3   31.8K    63.6K
*geronimo-deploy-jsr88-1.0.jar              2   55.4K    55.4K
*geronimo-deployment-1.0.jar                2   51.2K    51.2K
  geronimo-deploy-tool-1.0.jar               2   50.0K    50.0K
  commons-io-1.0.jar                         2   44.5K    44.5K
*commons-logging-1.0.4.jar                  2   37.1K    37.1K
*geronimo-common-1.0.jar                    2   35.0K    35.0K
*commons-cli-1.0.jar                        2   29.4K    29.4K
  geronimo-j2ee-deployment_1.1_spec-1.0.jar  2   25.2K    25.2K
  daytrader-streamer-1.0.jar                 2   24.4K    24.4K
  tranql-connector-derby-common-1.1.jar      3    6.3K    12.6K
*geronimo-qname_1.1_spec-1.0.jar            2    6.5K     6.5K
                                                        -------
                                                          18.5M


+ Contained in lib/edorsed - my guess is they can simply be removed  
from the repository since the only way to successfully load these  
classes is via the endorsed directory.
* Contained in lib - to consolidate these into the repository will  
require a new Main class.  I have one in XBean that should work for  
this when it becomes a geronimo sub project.

All of the other jars should removed from the applications and  
referenced from the repository.  I'd like to get the duplicate  
application jars and if possible the endorsed duplicate jars removed  
for 1.0.1; the duplicate lib jars should wait until 1.1.  This should  
make the 1.0.1 release about 15M smaller, or ~48M

-dain



For those that are interested, here is where the duplicate jars come  
from:

activecluster-1.1-SNAPSHOT.jar
     config-store/11/rar
     config-store/28/TradeJMS
     config-store/29/activemq/activemq-ra/3.2.1/rar

activeio-1.1.jar
     config-store/11/rar
     config-store/28/TradeJMS
     config-store/29/activemq/activemq-ra/3.2.1/rar

activemq-core-3.2.1.jar
     config-store/11/rar
     config-store/28/TradeJMS
     config-store/29/activemq/activemq-ra/3.2.1/rar
     repository/activemq/jars

activemq-optional-3.2.1.jar
     config-store/11/rar
     config-store/28/TradeJMS
     config-store/29/activemq/activemq-ra/3.2.1/rar

activemq-ra-3.2.1.jar
     config-store/11/rar
     config-store/28/TradeJMS
     config-store/29/activemq/activemq-ra/3.2.1/rar

castor-0.9.5.3.jar
     config-store/24/geronimo-console-framework-1.0.war/WEB-INF/lib
     config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib

cglib-nodep-2.1_3.jar
     lib
     repository/cglib/jars

commons-cli-1.0.jar
     lib
     repository/commons-cli/jars

commons-digester-1.6.jar
     config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
     repository/commons-digester/jars

commons-el-1.0.jar
     config-store/24/geronimo-console-framework-1.0.war/WEB-INF/lib
     repository/commons-el/jars

commons-io-1.0.jar
     config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
     repository/commons-io/jars

commons-logging-1.0.3.jar
     config-store/11/rar
     config-store/28/TradeJMS
     config-store/28/daytrader-web-1.0.war/WEB-INF/lib
     config-store/29/activemq/activemq-ra/3.2.1/rar

commons-logging-1.0.4.jar
     lib
     repository/commons-logging/jars

concurrent-1.3.4.jar
     config-store/11/rar
     config-store/28/TradeJMS
     config-store/29/activemq/activemq-ra/3.2.1/rar
     repository/concurrent/jars

daytrader-ejb-1.0.jar
     config-store/28
     config-store/29

daytrader-streamer-1.0.jar
     config-store/28
     config-store/29

derby-10.0.2.1.jar
     config-store/11/rar
     config-store/28/TradeJMS
     config-store/29/activemq/activemq-ra/3.2.1/rar

geronimo-common-1.0.jar
     lib
     repository/geronimo/jars

geronimo-deploy-jsr88-1.0.jar
     lib
     repository/geronimo/jars

geronimo-deploy-tool-1.0.jar
     lib
     repository/geronimo/jars

geronimo-deployment-1.0.jar
     lib
     repository/geronimo/jars

geronimo-j2ee-deployment_1.1_spec-1.0.jar
     lib
     repository/org.apache.geronimo.specs/jars

geronimo-kernel-1.0.jar
     lib
     repository/geronimo/jars

geronimo-qname_1.1_spec-1.0.jar
     lib
     repository/org.apache.geronimo.specs/jars

geronimo-system-1.0.jar
     lib
     repository/geronimo/jars

geronimo-util-1.0.jar
     lib
     repository/geronimo/jars

jasper-compiler-5.5.12.jar
     config-store/24/geronimo-console-framework-1.0.war/WEB-INF/lib
     config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
     repository/tomcat/jars

jasper-runtime-5.5.12.jar
     config-store/24/geronimo-console-framework-1.0.war/WEB-INF/lib
     config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
     repository/tomcat/jars

log4j-1.2.8.jar
     lib
     repository/log4j/jars

mx4j-3.0.1.jar
     lib
     repository/mx4j/jars

mx4j-remote-3.0.1.jar
     lib
     repository/mx4j/jars

spring-1.2.2.jar
     config-store/11/rar
     config-store/28/TradeJMS
     config-store/29/activemq/activemq-ra/3.2.1/rar

tranql-connector-1.1.jar
     config-store/27/uddi-db
     config-store/28/TradeDataSource
     config-store/9/rar

tranql-connector-derby-common-1.1.jar
     config-store/27/uddi-db
     config-store/28/TradeDataSource
     config-store/9/rar

xercesImpl-2.6.2.jar
     lib/endorsed
     repository/xerces/jars

xmlParserAPIs-2.2.1.jar
     lib/endorsed
     repository/xerces/jars

xstream-1.1.2.jar
     config-store/11/rar
     config-store/28/TradeJMS
     config-store/29/activemq


And here is my config-store index:

1   geronimo/j2ee-system/1.0/car
2   geronimo/rmi-naming/1.0/car
3   geronimo/j2ee-server/1.0/car
4   geronimo/j2ee-security/1.0/car
5   geronimo/j2ee-corba/1.0/car
6   geronimo/tomcat/1.0/car
7   geronimo/directory/1.0/car
8   geronimo/ldap-realm/1.0/car
9   geronimo/system-database/1.0/car
10  geronimo/activemq-broker/1.0/car
11  geronimo/activemq/1.0/car
12  geronimo/client-system/1.0/car
13  geronimo/client/1.0/car
14  geronimo/client-security/1.0/car
15  geronimo/client-corba/1.0/car
16  geronimo/geronimo-gbean-deployer/1.0/car
17  geronimo/hot-deployer/1.0/car
18  geronimo/j2ee-deployer/1.0/car
19  geronimo/tomcat-deployer/1.0/car
20  geronimo/ldap-demo-tomcat/1.0/car
21  geronimo/welcome-tomcat/1.0/car
22  geronimo/servlets-examples-tomcat/1.0/car
23  geronimo/jsp-examples-tomcat/1.0/car
24  geronimo/webconsole-tomcat/1.0/car
25  geronimo/jmxdebug-tomcat/1.0/car
26  geronimo/remote-deploy-tomcat/1.0/car
27  geronimo/uddi-tomcat/1.0/car
28  geronimo/daytrader-derby-tomcat/1.0/car
29  geronimo/daytrader-derby-tomcat-streamer-client/1.0/car
30  geronimo/online-deployer/1.0/car
31  geronimo/shutdown/1.0/car



Re: Duplicate jars

Posted by Bruce Snyder <br...@gmail.com>.
On 12/19/05, Dain Sundstrom <da...@iq80.com> wrote:
> I spent a bit of time looking at our release to determine why it is
> so large and discovered a lot of duplicate jars.
>
> File                                     Count  Size     Dupe
> -------------------------------------------------------------
>   derby-10.0.2.1.jar                         3    2.1M     4.1M
>   spring-1.2.2.jar                           3    1.7M     3.5M
>   activemq-core-3.2.1.jar                    4  978.8K     2.9M
>   castor-0.9.5.3.jar                         2    1.6M     1.6M
> +xercesImpl-2.6.2.jar                       2  987.0K   987.0K
>   jasper-compiler-5.5.12.jar                 3  395.6K   791.2K
>   concurrent-1.3.4.jar                       4  184.8K   554.5K
>   xstream-1.1.2.jar                          3  241.1K   482.2K
> *mx4j-3.0.1.jar                             2  398.5K   398.5K
>   activeio-1.1.jar                           3  183.0K   365.9K
> *log4j-1.2.8.jar                            2  344.4K   344.4K
> *cglib-nodep-2.1_3.jar                      2  316.6K   316.6K
> *geronimo-util-1.0.jar                      2  242.2K   242.2K
> *geronimo-kernel-1.0.jar                    2  223.8K   223.8K
>   mx4j-remote-3.0.1.jar                      2  167.1K   167.1K
>   commons-digester-1.6.jar                   2  164.5K   164.5K
>   jasper-runtime-5.5.12.jar                  3   74.9K   149.8K
>   activemq-ra-3.2.1.jar                      3   71.8K   143.7K
> *geronimo-system-1.0.jar                    2  142.7K   142.7K
>   activemq-optional-3.2.1.jar                3   70.4K   140.9K
>   daytrader-ejb-1.0.jar                      2  140.5K   140.5K
>   commons-el-1.0.jar                         2  109.7K   109.7K
>   tranql-connector-1.1.jar                   3   52.7K   105.5K
>   commons-logging-1.0.3.jar                  4   30.9K    92.6K
> +xmlParserAPIs-2.2.1.jar                    2   81.1K    81.1K
>   activecluster-1.1-SNAPSHOT.jar             3   31.8K    63.6K
> *geronimo-deploy-jsr88-1.0.jar              2   55.4K    55.4K
> *geronimo-deployment-1.0.jar                2   51.2K    51.2K
>   geronimo-deploy-tool-1.0.jar               2   50.0K    50.0K
>   commons-io-1.0.jar                         2   44.5K    44.5K
> *commons-logging-1.0.4.jar                  2   37.1K    37.1K
> *geronimo-common-1.0.jar                    2   35.0K    35.0K
> *commons-cli-1.0.jar                        2   29.4K    29.4K
>   geronimo-j2ee-deployment_1.1_spec-1.0.jar  2   25.2K    25.2K
>   daytrader-streamer-1.0.jar                 2   24.4K    24.4K
>   tranql-connector-derby-common-1.1.jar      3    6.3K    12.6K
> *geronimo-qname_1.1_spec-1.0.jar            2    6.5K     6.5K
>                                                         -------
>                                                           18.5M
>
>
> + Contained in lib/edorsed - my guess is they can simply be removed
> from the repository since the only way to successfully load these
> classes is via the endorsed directory.
> * Contained in lib - to consolidate these into the repository will
> require a new Main class.  I have one in XBean that should work for
> this when it becomes a geronimo sub project.
>
> All of the other jars should removed from the applications and
> referenced from the repository.  I'd like to get the duplicate
> application jars and if possible the endorsed duplicate jars removed
> for 1.0.1; the duplicate lib jars should wait until 1.1.  This should
> make the 1.0.1 release about 15M smaller, or ~48M
>
> -dain
>
>
>
> For those that are interested, here is where the duplicate jars come
> from:
>
> activecluster-1.1-SNAPSHOT.jar
>      config-store/11/rar
>      config-store/28/TradeJMS
>      config-store/29/activemq/activemq-ra/3.2.1/rar
>
> activeio-1.1.jar
>      config-store/11/rar
>      config-store/28/TradeJMS
>      config-store/29/activemq/activemq-ra/3.2.1/rar
>
> activemq-core-3.2.1.jar
>      config-store/11/rar
>      config-store/28/TradeJMS
>      config-store/29/activemq/activemq-ra/3.2.1/rar
>      repository/activemq/jars
>
> activemq-optional-3.2.1.jar
>      config-store/11/rar
>      config-store/28/TradeJMS
>      config-store/29/activemq/activemq-ra/3.2.1/rar
>
> activemq-ra-3.2.1.jar
>      config-store/11/rar
>      config-store/28/TradeJMS
>      config-store/29/activemq/activemq-ra/3.2.1/rar
>
> castor-0.9.5.3.jar
>      config-store/24/geronimo-console-framework-1.0.war/WEB-INF/lib
>      config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
>
> cglib-nodep-2.1_3.jar
>      lib
>      repository/cglib/jars
>
> commons-cli-1.0.jar
>      lib
>      repository/commons-cli/jars
>
> commons-digester-1.6.jar
>      config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
>      repository/commons-digester/jars
>
> commons-el-1.0.jar
>      config-store/24/geronimo-console-framework-1.0.war/WEB-INF/lib
>      repository/commons-el/jars
>
> commons-io-1.0.jar
>      config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
>      repository/commons-io/jars
>
> commons-logging-1.0.3.jar
>      config-store/11/rar
>      config-store/28/TradeJMS
>      config-store/28/daytrader-web-1.0.war/WEB-INF/lib
>      config-store/29/activemq/activemq-ra/3.2.1/rar
>
> commons-logging-1.0.4.jar
>      lib
>      repository/commons-logging/jars
>
> concurrent-1.3.4.jar
>      config-store/11/rar
>      config-store/28/TradeJMS
>      config-store/29/activemq/activemq-ra/3.2.1/rar
>      repository/concurrent/jars
>
> daytrader-ejb-1.0.jar
>      config-store/28
>      config-store/29
>
> daytrader-streamer-1.0.jar
>      config-store/28
>      config-store/29
>
> derby-10.0.2.1.jar
>      config-store/11/rar
>      config-store/28/TradeJMS
>      config-store/29/activemq/activemq-ra/3.2.1/rar
>
> geronimo-common-1.0.jar
>      lib
>      repository/geronimo/jars
>
> geronimo-deploy-jsr88-1.0.jar
>      lib
>      repository/geronimo/jars
>
> geronimo-deploy-tool-1.0.jar
>      lib
>      repository/geronimo/jars
>
> geronimo-deployment-1.0.jar
>      lib
>      repository/geronimo/jars
>
> geronimo-j2ee-deployment_1.1_spec-1.0.jar
>      lib
>      repository/org.apache.geronimo.specs/jars
>
> geronimo-kernel-1.0.jar
>      lib
>      repository/geronimo/jars
>
> geronimo-qname_1.1_spec-1.0.jar
>      lib
>      repository/org.apache.geronimo.specs/jars
>
> geronimo-system-1.0.jar
>      lib
>      repository/geronimo/jars
>
> geronimo-util-1.0.jar
>      lib
>      repository/geronimo/jars
>
> jasper-compiler-5.5.12.jar
>      config-store/24/geronimo-console-framework-1.0.war/WEB-INF/lib
>      config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
>      repository/tomcat/jars
>
> jasper-runtime-5.5.12.jar
>      config-store/24/geronimo-console-framework-1.0.war/WEB-INF/lib
>      config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
>      repository/tomcat/jars
>
> log4j-1.2.8.jar
>      lib
>      repository/log4j/jars
>
> mx4j-3.0.1.jar
>      lib
>      repository/mx4j/jars
>
> mx4j-remote-3.0.1.jar
>      lib
>      repository/mx4j/jars
>
> spring-1.2.2.jar
>      config-store/11/rar
>      config-store/28/TradeJMS
>      config-store/29/activemq/activemq-ra/3.2.1/rar
>
> tranql-connector-1.1.jar
>      config-store/27/uddi-db
>      config-store/28/TradeDataSource
>      config-store/9/rar
>
> tranql-connector-derby-common-1.1.jar
>      config-store/27/uddi-db
>      config-store/28/TradeDataSource
>      config-store/9/rar
>
> xercesImpl-2.6.2.jar
>      lib/endorsed
>      repository/xerces/jars
>
> xmlParserAPIs-2.2.1.jar
>      lib/endorsed
>      repository/xerces/jars
>
> xstream-1.1.2.jar
>      config-store/11/rar
>      config-store/28/TradeJMS
>      config-store/29/activemq
>
>
> And here is my config-store index:
>
> 1   geronimo/j2ee-system/1.0/car
> 2   geronimo/rmi-naming/1.0/car
> 3   geronimo/j2ee-server/1.0/car
> 4   geronimo/j2ee-security/1.0/car
> 5   geronimo/j2ee-corba/1.0/car
> 6   geronimo/tomcat/1.0/car
> 7   geronimo/directory/1.0/car
> 8   geronimo/ldap-realm/1.0/car
> 9   geronimo/system-database/1.0/car
> 10  geronimo/activemq-broker/1.0/car
> 11  geronimo/activemq/1.0/car
> 12  geronimo/client-system/1.0/car
> 13  geronimo/client/1.0/car
> 14  geronimo/client-security/1.0/car
> 15  geronimo/client-corba/1.0/car
> 16  geronimo/geronimo-gbean-deployer/1.0/car
> 17  geronimo/hot-deployer/1.0/car
> 18  geronimo/j2ee-deployer/1.0/car
> 19  geronimo/tomcat-deployer/1.0/car
> 20  geronimo/ldap-demo-tomcat/1.0/car
> 21  geronimo/welcome-tomcat/1.0/car
> 22  geronimo/servlets-examples-tomcat/1.0/car
> 23  geronimo/jsp-examples-tomcat/1.0/car
> 24  geronimo/webconsole-tomcat/1.0/car
> 25  geronimo/jmxdebug-tomcat/1.0/car
> 26  geronimo/remote-deploy-tomcat/1.0/car
> 27  geronimo/uddi-tomcat/1.0/car
> 28  geronimo/daytrader-derby-tomcat/1.0/car
> 29  geronimo/daytrader-derby-tomcat-streamer-client/1.0/car
> 30  geronimo/online-deployer/1.0/car
> 31  geronimo/shutdown/1.0/car

I should've emailed out my findings from digging into the legal survey
that Cliff sent out last week because I discovered a lot of the same
thing via a Perl script I wrote real quick to look at this stuff. My
apologies for not stating what I found as I could have saved you this
duplicate effort.

Bruce
--
perl -e 'print unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
);'

The Castor Project
http://www.castor.org/

Apache Geronimo
http://geronimo.apache.org/

Re: Duplicate jars

Posted by Dain Sundstrom <da...@iq80.com>.
David scroll down a bit and you will see where the jars are located  
and my analysis of what we can about the duplicates.  The jars below  
without a '*' or a '+' are not from lib or endorsed directory.  The  
largest duplicates are jars in applications, like 3 copies of the  
Derby jar.

-dain

On Dec 19, 2005, at 2:04 PM, David Jencks wrote:

> Could you explain a bit where the duplicates that aren't somewhere  
> in lib are?
>
> thanks
> david jencks
>
> On Dec 19, 2005, at 1:09 PM, Dain Sundstrom wrote:
>
>> I spent a bit of time looking at our release to determine why it  
>> is so large and discovered a lot of duplicate jars.
>>
>> File                                     Count  Size     Dupe
>> -------------------------------------------------------------
>>  derby-10.0.2.1.jar                         3    2.1M     4.1M
>>  spring-1.2.2.jar                           3    1.7M     3.5M
>>  activemq-core-3.2.1.jar                    4  978.8K     2.9M
>>  castor-0.9.5.3.jar                         2    1.6M     1.6M
>> +xercesImpl-2.6.2.jar                       2  987.0K   987.0K
>>  jasper-compiler-5.5.12.jar                 3  395.6K   791.2K
>>  concurrent-1.3.4.jar                       4  184.8K   554.5K
>>  xstream-1.1.2.jar                          3  241.1K   482.2K
>> *mx4j-3.0.1.jar                             2  398.5K   398.5K
>>  activeio-1.1.jar                           3  183.0K   365.9K
>> *log4j-1.2.8.jar                            2  344.4K   344.4K
>> *cglib-nodep-2.1_3.jar                      2  316.6K   316.6K
>> *geronimo-util-1.0.jar                      2  242.2K   242.2K
>> *geronimo-kernel-1.0.jar                    2  223.8K   223.8K
>>  mx4j-remote-3.0.1.jar                      2  167.1K   167.1K
>>  commons-digester-1.6.jar                   2  164.5K   164.5K
>>  jasper-runtime-5.5.12.jar                  3   74.9K   149.8K
>>  activemq-ra-3.2.1.jar                      3   71.8K   143.7K
>> *geronimo-system-1.0.jar                    2  142.7K   142.7K
>>  activemq-optional-3.2.1.jar                3   70.4K   140.9K
>>  daytrader-ejb-1.0.jar                      2  140.5K   140.5K
>>  commons-el-1.0.jar                         2  109.7K   109.7K
>>  tranql-connector-1.1.jar                   3   52.7K   105.5K
>>  commons-logging-1.0.3.jar                  4   30.9K    92.6K
>> +xmlParserAPIs-2.2.1.jar                    2   81.1K    81.1K
>>  activecluster-1.1-SNAPSHOT.jar             3   31.8K    63.6K
>> *geronimo-deploy-jsr88-1.0.jar              2   55.4K    55.4K
>> *geronimo-deployment-1.0.jar                2   51.2K    51.2K
>>  geronimo-deploy-tool-1.0.jar               2   50.0K    50.0K
>>  commons-io-1.0.jar                         2   44.5K    44.5K
>> *commons-logging-1.0.4.jar                  2   37.1K    37.1K
>> *geronimo-common-1.0.jar                    2   35.0K    35.0K
>> *commons-cli-1.0.jar                        2   29.4K    29.4K
>>  geronimo-j2ee-deployment_1.1_spec-1.0.jar  2   25.2K    25.2K
>>  daytrader-streamer-1.0.jar                 2   24.4K    24.4K
>>  tranql-connector-derby-common-1.1.jar      3    6.3K    12.6K
>> *geronimo-qname_1.1_spec-1.0.jar            2    6.5K     6.5K
>>                                                        -------
>>                                                          18.5M
>>
>>
>> + Contained in lib/edorsed - my guess is they can simply be  
>> removed from the repository since the only way to successfully  
>> load these classes is via the endorsed directory.
>> * Contained in lib - to consolidate these into the repository will  
>> require a new Main class.  I have one in XBean that should work  
>> for this when it becomes a geronimo sub project.
>>
>> All of the other jars should removed from the applications and  
>> referenced from the repository.  I'd like to get the duplicate  
>> application jars and if possible the endorsed duplicate jars  
>> removed for 1.0.1; the duplicate lib jars should wait until 1.1.   
>> This should make the 1.0.1 release about 15M smaller, or ~48M
>>
>> -dain
>>
>>
>>
>> For those that are interested, here is where the duplicate jars  
>> come from:
>>
>> activecluster-1.1-SNAPSHOT.jar
>>     config-store/11/rar
>>     config-store/28/TradeJMS
>>     config-store/29/activemq/activemq-ra/3.2.1/rar
>>
>> activeio-1.1.jar
>>     config-store/11/rar
>>     config-store/28/TradeJMS
>>     config-store/29/activemq/activemq-ra/3.2.1/rar
>>
>> activemq-core-3.2.1.jar
>>     config-store/11/rar
>>     config-store/28/TradeJMS
>>     config-store/29/activemq/activemq-ra/3.2.1/rar
>>     repository/activemq/jars
>>
>> activemq-optional-3.2.1.jar
>>     config-store/11/rar
>>     config-store/28/TradeJMS
>>     config-store/29/activemq/activemq-ra/3.2.1/rar
>>
>> activemq-ra-3.2.1.jar
>>     config-store/11/rar
>>     config-store/28/TradeJMS
>>     config-store/29/activemq/activemq-ra/3.2.1/rar
>>
>> castor-0.9.5.3.jar
>>     config-store/24/geronimo-console-framework-1.0.war/WEB-INF/lib
>>     config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
>>
>> cglib-nodep-2.1_3.jar
>>     lib
>>     repository/cglib/jars
>>
>> commons-cli-1.0.jar
>>     lib
>>     repository/commons-cli/jars
>>
>> commons-digester-1.6.jar
>>     config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
>>     repository/commons-digester/jars
>>
>> commons-el-1.0.jar
>>     config-store/24/geronimo-console-framework-1.0.war/WEB-INF/lib
>>     repository/commons-el/jars
>>
>> commons-io-1.0.jar
>>     config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
>>     repository/commons-io/jars
>>
>> commons-logging-1.0.3.jar
>>     config-store/11/rar
>>     config-store/28/TradeJMS
>>     config-store/28/daytrader-web-1.0.war/WEB-INF/lib
>>     config-store/29/activemq/activemq-ra/3.2.1/rar
>>
>> commons-logging-1.0.4.jar
>>     lib
>>     repository/commons-logging/jars
>>
>> concurrent-1.3.4.jar
>>     config-store/11/rar
>>     config-store/28/TradeJMS
>>     config-store/29/activemq/activemq-ra/3.2.1/rar
>>     repository/concurrent/jars
>>
>> daytrader-ejb-1.0.jar
>>     config-store/28
>>     config-store/29
>>
>> daytrader-streamer-1.0.jar
>>     config-store/28
>>     config-store/29
>>
>> derby-10.0.2.1.jar
>>     config-store/11/rar
>>     config-store/28/TradeJMS
>>     config-store/29/activemq/activemq-ra/3.2.1/rar
>>
>> geronimo-common-1.0.jar
>>     lib
>>     repository/geronimo/jars
>>
>> geronimo-deploy-jsr88-1.0.jar
>>     lib
>>     repository/geronimo/jars
>>
>> geronimo-deploy-tool-1.0.jar
>>     lib
>>     repository/geronimo/jars
>>
>> geronimo-deployment-1.0.jar
>>     lib
>>     repository/geronimo/jars
>>
>> geronimo-j2ee-deployment_1.1_spec-1.0.jar
>>     lib
>>     repository/org.apache.geronimo.specs/jars
>>
>> geronimo-kernel-1.0.jar
>>     lib
>>     repository/geronimo/jars
>>
>> geronimo-qname_1.1_spec-1.0.jar
>>     lib
>>     repository/org.apache.geronimo.specs/jars
>>
>> geronimo-system-1.0.jar
>>     lib
>>     repository/geronimo/jars
>>
>> geronimo-util-1.0.jar
>>     lib
>>     repository/geronimo/jars
>>
>> jasper-compiler-5.5.12.jar
>>     config-store/24/geronimo-console-framework-1.0.war/WEB-INF/lib
>>     config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
>>     repository/tomcat/jars
>>
>> jasper-runtime-5.5.12.jar
>>     config-store/24/geronimo-console-framework-1.0.war/WEB-INF/lib
>>     config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
>>     repository/tomcat/jars
>>
>> log4j-1.2.8.jar
>>     lib
>>     repository/log4j/jars
>>
>> mx4j-3.0.1.jar
>>     lib
>>     repository/mx4j/jars
>>
>> mx4j-remote-3.0.1.jar
>>     lib
>>     repository/mx4j/jars
>>
>> spring-1.2.2.jar
>>     config-store/11/rar
>>     config-store/28/TradeJMS
>>     config-store/29/activemq/activemq-ra/3.2.1/rar
>>
>> tranql-connector-1.1.jar
>>     config-store/27/uddi-db
>>     config-store/28/TradeDataSource
>>     config-store/9/rar
>>
>> tranql-connector-derby-common-1.1.jar
>>     config-store/27/uddi-db
>>     config-store/28/TradeDataSource
>>     config-store/9/rar
>>
>> xercesImpl-2.6.2.jar
>>     lib/endorsed
>>     repository/xerces/jars
>>
>> xmlParserAPIs-2.2.1.jar
>>     lib/endorsed
>>     repository/xerces/jars
>>
>> xstream-1.1.2.jar
>>     config-store/11/rar
>>     config-store/28/TradeJMS
>>     config-store/29/activemq
>>
>>
>> And here is my config-store index:
>>
>> 1   geronimo/j2ee-system/1.0/car
>> 2   geronimo/rmi-naming/1.0/car
>> 3   geronimo/j2ee-server/1.0/car
>> 4   geronimo/j2ee-security/1.0/car
>> 5   geronimo/j2ee-corba/1.0/car
>> 6   geronimo/tomcat/1.0/car
>> 7   geronimo/directory/1.0/car
>> 8   geronimo/ldap-realm/1.0/car
>> 9   geronimo/system-database/1.0/car
>> 10  geronimo/activemq-broker/1.0/car
>> 11  geronimo/activemq/1.0/car
>> 12  geronimo/client-system/1.0/car
>> 13  geronimo/client/1.0/car
>> 14  geronimo/client-security/1.0/car
>> 15  geronimo/client-corba/1.0/car
>> 16  geronimo/geronimo-gbean-deployer/1.0/car
>> 17  geronimo/hot-deployer/1.0/car
>> 18  geronimo/j2ee-deployer/1.0/car
>> 19  geronimo/tomcat-deployer/1.0/car
>> 20  geronimo/ldap-demo-tomcat/1.0/car
>> 21  geronimo/welcome-tomcat/1.0/car
>> 22  geronimo/servlets-examples-tomcat/1.0/car
>> 23  geronimo/jsp-examples-tomcat/1.0/car
>> 24  geronimo/webconsole-tomcat/1.0/car
>> 25  geronimo/jmxdebug-tomcat/1.0/car
>> 26  geronimo/remote-deploy-tomcat/1.0/car
>> 27  geronimo/uddi-tomcat/1.0/car
>> 28  geronimo/daytrader-derby-tomcat/1.0/car
>> 29  geronimo/daytrader-derby-tomcat-streamer-client/1.0/car
>> 30  geronimo/online-deployer/1.0/car
>> 31  geronimo/shutdown/1.0/car
>>
>>


Re: Duplicate jars

Posted by David Jencks <da...@yahoo.com>.
Could you explain a bit where the duplicates that aren't somewhere in  
lib are?

thanks
david jencks

On Dec 19, 2005, at 1:09 PM, Dain Sundstrom wrote:

> I spent a bit of time looking at our release to determine why it is  
> so large and discovered a lot of duplicate jars.
>
> File                                     Count  Size     Dupe
> -------------------------------------------------------------
>  derby-10.0.2.1.jar                         3    2.1M     4.1M
>  spring-1.2.2.jar                           3    1.7M     3.5M
>  activemq-core-3.2.1.jar                    4  978.8K     2.9M
>  castor-0.9.5.3.jar                         2    1.6M     1.6M
> +xercesImpl-2.6.2.jar                       2  987.0K   987.0K
>  jasper-compiler-5.5.12.jar                 3  395.6K   791.2K
>  concurrent-1.3.4.jar                       4  184.8K   554.5K
>  xstream-1.1.2.jar                          3  241.1K   482.2K
> *mx4j-3.0.1.jar                             2  398.5K   398.5K
>  activeio-1.1.jar                           3  183.0K   365.9K
> *log4j-1.2.8.jar                            2  344.4K   344.4K
> *cglib-nodep-2.1_3.jar                      2  316.6K   316.6K
> *geronimo-util-1.0.jar                      2  242.2K   242.2K
> *geronimo-kernel-1.0.jar                    2  223.8K   223.8K
>  mx4j-remote-3.0.1.jar                      2  167.1K   167.1K
>  commons-digester-1.6.jar                   2  164.5K   164.5K
>  jasper-runtime-5.5.12.jar                  3   74.9K   149.8K
>  activemq-ra-3.2.1.jar                      3   71.8K   143.7K
> *geronimo-system-1.0.jar                    2  142.7K   142.7K
>  activemq-optional-3.2.1.jar                3   70.4K   140.9K
>  daytrader-ejb-1.0.jar                      2  140.5K   140.5K
>  commons-el-1.0.jar                         2  109.7K   109.7K
>  tranql-connector-1.1.jar                   3   52.7K   105.5K
>  commons-logging-1.0.3.jar                  4   30.9K    92.6K
> +xmlParserAPIs-2.2.1.jar                    2   81.1K    81.1K
>  activecluster-1.1-SNAPSHOT.jar             3   31.8K    63.6K
> *geronimo-deploy-jsr88-1.0.jar              2   55.4K    55.4K
> *geronimo-deployment-1.0.jar                2   51.2K    51.2K
>  geronimo-deploy-tool-1.0.jar               2   50.0K    50.0K
>  commons-io-1.0.jar                         2   44.5K    44.5K
> *commons-logging-1.0.4.jar                  2   37.1K    37.1K
> *geronimo-common-1.0.jar                    2   35.0K    35.0K
> *commons-cli-1.0.jar                        2   29.4K    29.4K
>  geronimo-j2ee-deployment_1.1_spec-1.0.jar  2   25.2K    25.2K
>  daytrader-streamer-1.0.jar                 2   24.4K    24.4K
>  tranql-connector-derby-common-1.1.jar      3    6.3K    12.6K
> *geronimo-qname_1.1_spec-1.0.jar            2    6.5K     6.5K
>                                                        -------
>                                                          18.5M
>
>
> + Contained in lib/edorsed - my guess is they can simply be removed  
> from the repository since the only way to successfully load these  
> classes is via the endorsed directory.
> * Contained in lib - to consolidate these into the repository will  
> require a new Main class.  I have one in XBean that should work for  
> this when it becomes a geronimo sub project.
>
> All of the other jars should removed from the applications and  
> referenced from the repository.  I'd like to get the duplicate  
> application jars and if possible the endorsed duplicate jars  
> removed for 1.0.1; the duplicate lib jars should wait until 1.1.   
> This should make the 1.0.1 release about 15M smaller, or ~48M
>
> -dain
>
>
>
> For those that are interested, here is where the duplicate jars  
> come from:
>
> activecluster-1.1-SNAPSHOT.jar
>     config-store/11/rar
>     config-store/28/TradeJMS
>     config-store/29/activemq/activemq-ra/3.2.1/rar
>
> activeio-1.1.jar
>     config-store/11/rar
>     config-store/28/TradeJMS
>     config-store/29/activemq/activemq-ra/3.2.1/rar
>
> activemq-core-3.2.1.jar
>     config-store/11/rar
>     config-store/28/TradeJMS
>     config-store/29/activemq/activemq-ra/3.2.1/rar
>     repository/activemq/jars
>
> activemq-optional-3.2.1.jar
>     config-store/11/rar
>     config-store/28/TradeJMS
>     config-store/29/activemq/activemq-ra/3.2.1/rar
>
> activemq-ra-3.2.1.jar
>     config-store/11/rar
>     config-store/28/TradeJMS
>     config-store/29/activemq/activemq-ra/3.2.1/rar
>
> castor-0.9.5.3.jar
>     config-store/24/geronimo-console-framework-1.0.war/WEB-INF/lib
>     config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
>
> cglib-nodep-2.1_3.jar
>     lib
>     repository/cglib/jars
>
> commons-cli-1.0.jar
>     lib
>     repository/commons-cli/jars
>
> commons-digester-1.6.jar
>     config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
>     repository/commons-digester/jars
>
> commons-el-1.0.jar
>     config-store/24/geronimo-console-framework-1.0.war/WEB-INF/lib
>     repository/commons-el/jars
>
> commons-io-1.0.jar
>     config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
>     repository/commons-io/jars
>
> commons-logging-1.0.3.jar
>     config-store/11/rar
>     config-store/28/TradeJMS
>     config-store/28/daytrader-web-1.0.war/WEB-INF/lib
>     config-store/29/activemq/activemq-ra/3.2.1/rar
>
> commons-logging-1.0.4.jar
>     lib
>     repository/commons-logging/jars
>
> concurrent-1.3.4.jar
>     config-store/11/rar
>     config-store/28/TradeJMS
>     config-store/29/activemq/activemq-ra/3.2.1/rar
>     repository/concurrent/jars
>
> daytrader-ejb-1.0.jar
>     config-store/28
>     config-store/29
>
> daytrader-streamer-1.0.jar
>     config-store/28
>     config-store/29
>
> derby-10.0.2.1.jar
>     config-store/11/rar
>     config-store/28/TradeJMS
>     config-store/29/activemq/activemq-ra/3.2.1/rar
>
> geronimo-common-1.0.jar
>     lib
>     repository/geronimo/jars
>
> geronimo-deploy-jsr88-1.0.jar
>     lib
>     repository/geronimo/jars
>
> geronimo-deploy-tool-1.0.jar
>     lib
>     repository/geronimo/jars
>
> geronimo-deployment-1.0.jar
>     lib
>     repository/geronimo/jars
>
> geronimo-j2ee-deployment_1.1_spec-1.0.jar
>     lib
>     repository/org.apache.geronimo.specs/jars
>
> geronimo-kernel-1.0.jar
>     lib
>     repository/geronimo/jars
>
> geronimo-qname_1.1_spec-1.0.jar
>     lib
>     repository/org.apache.geronimo.specs/jars
>
> geronimo-system-1.0.jar
>     lib
>     repository/geronimo/jars
>
> geronimo-util-1.0.jar
>     lib
>     repository/geronimo/jars
>
> jasper-compiler-5.5.12.jar
>     config-store/24/geronimo-console-framework-1.0.war/WEB-INF/lib
>     config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
>     repository/tomcat/jars
>
> jasper-runtime-5.5.12.jar
>     config-store/24/geronimo-console-framework-1.0.war/WEB-INF/lib
>     config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
>     repository/tomcat/jars
>
> log4j-1.2.8.jar
>     lib
>     repository/log4j/jars
>
> mx4j-3.0.1.jar
>     lib
>     repository/mx4j/jars
>
> mx4j-remote-3.0.1.jar
>     lib
>     repository/mx4j/jars
>
> spring-1.2.2.jar
>     config-store/11/rar
>     config-store/28/TradeJMS
>     config-store/29/activemq/activemq-ra/3.2.1/rar
>
> tranql-connector-1.1.jar
>     config-store/27/uddi-db
>     config-store/28/TradeDataSource
>     config-store/9/rar
>
> tranql-connector-derby-common-1.1.jar
>     config-store/27/uddi-db
>     config-store/28/TradeDataSource
>     config-store/9/rar
>
> xercesImpl-2.6.2.jar
>     lib/endorsed
>     repository/xerces/jars
>
> xmlParserAPIs-2.2.1.jar
>     lib/endorsed
>     repository/xerces/jars
>
> xstream-1.1.2.jar
>     config-store/11/rar
>     config-store/28/TradeJMS
>     config-store/29/activemq
>
>
> And here is my config-store index:
>
> 1   geronimo/j2ee-system/1.0/car
> 2   geronimo/rmi-naming/1.0/car
> 3   geronimo/j2ee-server/1.0/car
> 4   geronimo/j2ee-security/1.0/car
> 5   geronimo/j2ee-corba/1.0/car
> 6   geronimo/tomcat/1.0/car
> 7   geronimo/directory/1.0/car
> 8   geronimo/ldap-realm/1.0/car
> 9   geronimo/system-database/1.0/car
> 10  geronimo/activemq-broker/1.0/car
> 11  geronimo/activemq/1.0/car
> 12  geronimo/client-system/1.0/car
> 13  geronimo/client/1.0/car
> 14  geronimo/client-security/1.0/car
> 15  geronimo/client-corba/1.0/car
> 16  geronimo/geronimo-gbean-deployer/1.0/car
> 17  geronimo/hot-deployer/1.0/car
> 18  geronimo/j2ee-deployer/1.0/car
> 19  geronimo/tomcat-deployer/1.0/car
> 20  geronimo/ldap-demo-tomcat/1.0/car
> 21  geronimo/welcome-tomcat/1.0/car
> 22  geronimo/servlets-examples-tomcat/1.0/car
> 23  geronimo/jsp-examples-tomcat/1.0/car
> 24  geronimo/webconsole-tomcat/1.0/car
> 25  geronimo/jmxdebug-tomcat/1.0/car
> 26  geronimo/remote-deploy-tomcat/1.0/car
> 27  geronimo/uddi-tomcat/1.0/car
> 28  geronimo/daytrader-derby-tomcat/1.0/car
> 29  geronimo/daytrader-derby-tomcat-streamer-client/1.0/car
> 30  geronimo/online-deployer/1.0/car
> 31  geronimo/shutdown/1.0/car
>
>


Re: Duplicate jars

Posted by Dain Sundstrom <da...@iq80.com>.
On Dec 19, 2005, at 8:51 PM, David Jencks wrote:

> On Dec 19, 2005, at 7:16 PM, Dain Sundstrom wrote:
>
>> On Dec 19, 2005, at 6:32 PM, David Jencks wrote:
>>
>>> So, to fix this we need mostly:
>>>
>>> 1. a classloader to read the jars inside rars and ears
>>
>> I'm confused.  Why would this help us?
> I don't see (2) being of any use without this.  In order to use a  
> rar or ear, you have to have some way to get at the classes in the  
> included jars.  I'm fine with flattening these j2ee artifacts  
> somehow such as unpacking all the internal contents, and having a  
> classloader that reads at an offset inside a jar, but we need  
> something.  This might be something we want to investigate and  
> discuss thoroughly with the maven guys before releasing.

I remember talking about this feature with you a few weeks back and  
think it is a good idea, but I don't think it is needed for this.   
I'm talking about simply removing the nested jars from the activemq  
rar and the console war and replacing them with:

     <dependency>
         <groupId>org.apache.derby</groupId>
         <artifactId>derbytools</artifactId>
         <version>${derby_version}</version>
     </dependency>

>>> 2. configurations for j2ee apps to use references to the original  
>>> artifacts in the repo rather than copying their contents.
>>
>> Yes
>>
>>> 3. fewer kitchen sinks in the activemq rar
>>
>> I'm hoping we can get activmq to create an activemq-geronimo- 
>> $version.rar which has references instead of nested jars.  The  
>> exiting one is great for standalone users.
>
> I dunno about references, but I'd like to see a rar without the  
> entire broker in it, just the stuff needed for a standalone  
> client.  Possibly an entirely classless rar would be even better  
> for us, I'm not sure.  I would like a way to have a geronimo  
> instance with activemq but without a broker or classes for a broker.

That would work also.  I am solely focused on reducing the duplicate  
jars, so if there is a more desirable way to deal with the activemq  
rar, that is cool with me.

>> 4. Cleanup the console ear
>>
>> It includes stuff like a copy of the tomcat jsp compiler.   
>> Basically, all nested jars should be replaced with references.
>>
>>> I think these are all laudable goals but I'm not sure any are  
>>> appropriate for 1.0.1
>>
>> I don't think they are required at all, but I would like to see  
>> some progress for 1.0.1.
>
> Me too, but beyond (4) and (3) I'm not sure we can do it quickly.

I agree with you on this.  I don't see why we would need 1 and for 2,  
I think the most important apps to deal with are 3 and 4 :)

-dain

Re: Duplicate jars

Posted by David Jencks <da...@yahoo.com>.
On Dec 19, 2005, at 7:16 PM, Dain Sundstrom wrote:

> On Dec 19, 2005, at 6:32 PM, David Jencks wrote:
>
>> So, to fix this we need mostly:
>>
>> 1. a classloader to read the jars inside rars and ears
>
> I'm confused.  Why would this help us?
I don't see (2) being of any use without this.  In order to use a rar  
or ear, you have to have some way to get at the classes in the  
included jars.  I'm fine with flattening these j2ee artifacts somehow  
such as unpacking all the internal contents, and having a classloader  
that reads at an offset inside a jar, but we need something.  This  
might be something we want to investigate and discuss thoroughly with  
the maven guys before releasing.

>
>> 2. configurations for j2ee apps to use references to the original  
>> artifacts in the repo rather than copying their contents.
>
> Yes
>
>> 3. fewer kitchen sinks in the activemq rar
>
> I'm hoping we can get activmq to create an activemq-geronimo- 
> $version.rar which has references instead of nested jars.  The  
> exiting one is great for standalone users.

I dunno about references, but I'd like to see a rar without the  
entire broker in it, just the stuff needed for a standalone client.   
Possibly an entirely classless rar would be even better for us, I'm  
not sure.  I would like a way to have a geronimo instance with  
activemq but without a broker or classes for a broker.

>
> 4. Cleanup the console ear
>
> It includes stuff like a copy of the tomcat jsp compiler.   
> Basically, all nested jars should be replaced with references.
>
>> I think these are all laudable goals but I'm not sure any are  
>> appropriate for 1.0.1
>
> I don't think they are required at all, but I would like to see  
> some progress for 1.0.1.

Me too, but beyond (4) and (3) I'm not sure we can do it quickly.

thanks
david jencks

>
> -dain


Re: Duplicate jars

Posted by Dain Sundstrom <da...@iq80.com>.
On Dec 19, 2005, at 6:32 PM, David Jencks wrote:

> So, to fix this we need mostly:
>
> 1. a classloader to read the jars inside rars and ears

I'm confused.  Why would this help us?

> 2. configurations for j2ee apps to use references to the original  
> artifacts in the repo rather than copying their contents.

Yes

> 3. fewer kitchen sinks in the activemq rar

I'm hoping we can get activmq to create an activemq-geronimo- 
$version.rar which has references instead of nested jars.  The  
exiting one is great for standalone users.

4. Cleanup the console ear

It includes stuff like a copy of the tomcat jsp compiler.  Basically,  
all nested jars should be replaced with references.

> I think these are all laudable goals but I'm not sure any are  
> appropriate for 1.0.1

I don't think they are required at all, but I would like to see some  
progress for 1.0.1.

-dain

Re: Duplicate jars

Posted by David Jencks <da...@yahoo.com>.
So, to fix this we need mostly:

1. a classloader to read the jars inside rars and ears
2. configurations for j2ee apps to use references to the original  
artifacts in the repo rather than copying their contents.

or
3. fewer kitchen sinks in the activemq rar

I think these are all laudable goals but I'm not sure any are  
appropriate for 1.0.1

thanks
david jencks

On Dec 19, 2005, at 1:09 PM, Dain Sundstrom wrote:

> I spent a bit of time looking at our release to determine why it is  
> so large and discovered a lot of duplicate jars.
>
> File                                     Count  Size     Dupe
> -------------------------------------------------------------
>  derby-10.0.2.1.jar                         3    2.1M     4.1M
>  spring-1.2.2.jar                           3    1.7M     3.5M
>  activemq-core-3.2.1.jar                    4  978.8K     2.9M
>  castor-0.9.5.3.jar                         2    1.6M     1.6M
> +xercesImpl-2.6.2.jar                       2  987.0K   987.0K
>  jasper-compiler-5.5.12.jar                 3  395.6K   791.2K
>  concurrent-1.3.4.jar                       4  184.8K   554.5K
>  xstream-1.1.2.jar                          3  241.1K   482.2K
> *mx4j-3.0.1.jar                             2  398.5K   398.5K
>  activeio-1.1.jar                           3  183.0K   365.9K
> *log4j-1.2.8.jar                            2  344.4K   344.4K
> *cglib-nodep-2.1_3.jar                      2  316.6K   316.6K
> *geronimo-util-1.0.jar                      2  242.2K   242.2K
> *geronimo-kernel-1.0.jar                    2  223.8K   223.8K
>  mx4j-remote-3.0.1.jar                      2  167.1K   167.1K
>  commons-digester-1.6.jar                   2  164.5K   164.5K
>  jasper-runtime-5.5.12.jar                  3   74.9K   149.8K
>  activemq-ra-3.2.1.jar                      3   71.8K   143.7K
> *geronimo-system-1.0.jar                    2  142.7K   142.7K
>  activemq-optional-3.2.1.jar                3   70.4K   140.9K
>  daytrader-ejb-1.0.jar                      2  140.5K   140.5K
>  commons-el-1.0.jar                         2  109.7K   109.7K
>  tranql-connector-1.1.jar                   3   52.7K   105.5K
>  commons-logging-1.0.3.jar                  4   30.9K    92.6K
> +xmlParserAPIs-2.2.1.jar                    2   81.1K    81.1K
>  activecluster-1.1-SNAPSHOT.jar             3   31.8K    63.6K
> *geronimo-deploy-jsr88-1.0.jar              2   55.4K    55.4K
> *geronimo-deployment-1.0.jar                2   51.2K    51.2K
>  geronimo-deploy-tool-1.0.jar               2   50.0K    50.0K
>  commons-io-1.0.jar                         2   44.5K    44.5K
> *commons-logging-1.0.4.jar                  2   37.1K    37.1K
> *geronimo-common-1.0.jar                    2   35.0K    35.0K
> *commons-cli-1.0.jar                        2   29.4K    29.4K
>  geronimo-j2ee-deployment_1.1_spec-1.0.jar  2   25.2K    25.2K
>  daytrader-streamer-1.0.jar                 2   24.4K    24.4K
>  tranql-connector-derby-common-1.1.jar      3    6.3K    12.6K
> *geronimo-qname_1.1_spec-1.0.jar            2    6.5K     6.5K
>                                                        -------
>                                                          18.5M
>
>
> + Contained in lib/edorsed - my guess is they can simply be removed  
> from the repository since the only way to successfully load these  
> classes is via the endorsed directory.
> * Contained in lib - to consolidate these into the repository will  
> require a new Main class.  I have one in XBean that should work for  
> this when it becomes a geronimo sub project.
>
> All of the other jars should removed from the applications and  
> referenced from the repository.  I'd like to get the duplicate  
> application jars and if possible the endorsed duplicate jars  
> removed for 1.0.1; the duplicate lib jars should wait until 1.1.   
> This should make the 1.0.1 release about 15M smaller, or ~48M
>
> -dain
>
>
>
> For those that are interested, here is where the duplicate jars  
> come from:
>
> activecluster-1.1-SNAPSHOT.jar
>     config-store/11/rar
>     config-store/28/TradeJMS
>     config-store/29/activemq/activemq-ra/3.2.1/rar
>
> activeio-1.1.jar
>     config-store/11/rar
>     config-store/28/TradeJMS
>     config-store/29/activemq/activemq-ra/3.2.1/rar
>
> activemq-core-3.2.1.jar
>     config-store/11/rar
>     config-store/28/TradeJMS
>     config-store/29/activemq/activemq-ra/3.2.1/rar
>     repository/activemq/jars
>
> activemq-optional-3.2.1.jar
>     config-store/11/rar
>     config-store/28/TradeJMS
>     config-store/29/activemq/activemq-ra/3.2.1/rar
>
> activemq-ra-3.2.1.jar
>     config-store/11/rar
>     config-store/28/TradeJMS
>     config-store/29/activemq/activemq-ra/3.2.1/rar
>
> castor-0.9.5.3.jar
>     config-store/24/geronimo-console-framework-1.0.war/WEB-INF/lib
>     config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
>
> cglib-nodep-2.1_3.jar
>     lib
>     repository/cglib/jars
>
> commons-cli-1.0.jar
>     lib
>     repository/commons-cli/jars
>
> commons-digester-1.6.jar
>     config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
>     repository/commons-digester/jars
>
> commons-el-1.0.jar
>     config-store/24/geronimo-console-framework-1.0.war/WEB-INF/lib
>     repository/commons-el/jars
>
> commons-io-1.0.jar
>     config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
>     repository/commons-io/jars
>
> commons-logging-1.0.3.jar
>     config-store/11/rar
>     config-store/28/TradeJMS
>     config-store/28/daytrader-web-1.0.war/WEB-INF/lib
>     config-store/29/activemq/activemq-ra/3.2.1/rar
>
> commons-logging-1.0.4.jar
>     lib
>     repository/commons-logging/jars
>
> concurrent-1.3.4.jar
>     config-store/11/rar
>     config-store/28/TradeJMS
>     config-store/29/activemq/activemq-ra/3.2.1/rar
>     repository/concurrent/jars
>
> daytrader-ejb-1.0.jar
>     config-store/28
>     config-store/29
>
> daytrader-streamer-1.0.jar
>     config-store/28
>     config-store/29
>
> derby-10.0.2.1.jar
>     config-store/11/rar
>     config-store/28/TradeJMS
>     config-store/29/activemq/activemq-ra/3.2.1/rar
>
> geronimo-common-1.0.jar
>     lib
>     repository/geronimo/jars
>
> geronimo-deploy-jsr88-1.0.jar
>     lib
>     repository/geronimo/jars
>
> geronimo-deploy-tool-1.0.jar
>     lib
>     repository/geronimo/jars
>
> geronimo-deployment-1.0.jar
>     lib
>     repository/geronimo/jars
>
> geronimo-j2ee-deployment_1.1_spec-1.0.jar
>     lib
>     repository/org.apache.geronimo.specs/jars
>
> geronimo-kernel-1.0.jar
>     lib
>     repository/geronimo/jars
>
> geronimo-qname_1.1_spec-1.0.jar
>     lib
>     repository/org.apache.geronimo.specs/jars
>
> geronimo-system-1.0.jar
>     lib
>     repository/geronimo/jars
>
> geronimo-util-1.0.jar
>     lib
>     repository/geronimo/jars
>
> jasper-compiler-5.5.12.jar
>     config-store/24/geronimo-console-framework-1.0.war/WEB-INF/lib
>     config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
>     repository/tomcat/jars
>
> jasper-runtime-5.5.12.jar
>     config-store/24/geronimo-console-framework-1.0.war/WEB-INF/lib
>     config-store/24/geronimo-console-standard-1.0.war/WEB-INF/lib
>     repository/tomcat/jars
>
> log4j-1.2.8.jar
>     lib
>     repository/log4j/jars
>
> mx4j-3.0.1.jar
>     lib
>     repository/mx4j/jars
>
> mx4j-remote-3.0.1.jar
>     lib
>     repository/mx4j/jars
>
> spring-1.2.2.jar
>     config-store/11/rar
>     config-store/28/TradeJMS
>     config-store/29/activemq/activemq-ra/3.2.1/rar
>
> tranql-connector-1.1.jar
>     config-store/27/uddi-db
>     config-store/28/TradeDataSource
>     config-store/9/rar
>
> tranql-connector-derby-common-1.1.jar
>     config-store/27/uddi-db
>     config-store/28/TradeDataSource
>     config-store/9/rar
>
> xercesImpl-2.6.2.jar
>     lib/endorsed
>     repository/xerces/jars
>
> xmlParserAPIs-2.2.1.jar
>     lib/endorsed
>     repository/xerces/jars
>
> xstream-1.1.2.jar
>     config-store/11/rar
>     config-store/28/TradeJMS
>     config-store/29/activemq
>
>
> And here is my config-store index:
>
> 1   geronimo/j2ee-system/1.0/car
> 2   geronimo/rmi-naming/1.0/car
> 3   geronimo/j2ee-server/1.0/car
> 4   geronimo/j2ee-security/1.0/car
> 5   geronimo/j2ee-corba/1.0/car
> 6   geronimo/tomcat/1.0/car
> 7   geronimo/directory/1.0/car
> 8   geronimo/ldap-realm/1.0/car
> 9   geronimo/system-database/1.0/car
> 10  geronimo/activemq-broker/1.0/car
> 11  geronimo/activemq/1.0/car
> 12  geronimo/client-system/1.0/car
> 13  geronimo/client/1.0/car
> 14  geronimo/client-security/1.0/car
> 15  geronimo/client-corba/1.0/car
> 16  geronimo/geronimo-gbean-deployer/1.0/car
> 17  geronimo/hot-deployer/1.0/car
> 18  geronimo/j2ee-deployer/1.0/car
> 19  geronimo/tomcat-deployer/1.0/car
> 20  geronimo/ldap-demo-tomcat/1.0/car
> 21  geronimo/welcome-tomcat/1.0/car
> 22  geronimo/servlets-examples-tomcat/1.0/car
> 23  geronimo/jsp-examples-tomcat/1.0/car
> 24  geronimo/webconsole-tomcat/1.0/car
> 25  geronimo/jmxdebug-tomcat/1.0/car
> 26  geronimo/remote-deploy-tomcat/1.0/car
> 27  geronimo/uddi-tomcat/1.0/car
> 28  geronimo/daytrader-derby-tomcat/1.0/car
> 29  geronimo/daytrader-derby-tomcat-streamer-client/1.0/car
> 30  geronimo/online-deployer/1.0/car
> 31  geronimo/shutdown/1.0/car
>
>