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