Everything Java Apache Geospatial Open Source. Hello Shinning Stars!!! Vincent Massol, Raphael Luta, Santiago Gala, Carsten Z.

Thursday, June 30, 2005

The Apache Geronimo code source can be imported into eclipse. Or, preferably, one can change the workspace to the location of the directory where subversion checked out geronimo (the directory containing the directory geronimo). Proceed with the creation of a "New Java Project" by naming the project geronimo. Eclipse then reports some 30,000 compile errors. Enabling the "assert" keyword resoves a large number of these. Remove all the libraries detected by Eclipse and proceed to add the following libraries from your maven repository. Libraries used by geronimo include,
  • cglib (resolves 1% of the errors)
  • mx4j and mx4j remote (resolves less than 2% of the errors)
  • log4j (resolves less than 1% of the errors)
  • xml-resolver (resolves less than 1% of the errors)
  • junit (25% of the errors) and is only required for the tests
The geronimo-kernel, geronimo-system, geronimo-common and a slew of j2ee specs should now compile successfully. The j2ee specs compiled include transactions, ejb, jms, servlet, jsp, connectors, activation, deployment, authorization contract for containers, jmx, javamail, xml registries, saaj, jaxrcp, j2ee, and corba. Notice that geronimo-kernel and geronimo-deployment have circular dependency. Then add the xmlbeans library.
  • xmlbeans (resolves 51% of the errors)
XMLBeans is a special case because this is required by the generated code, but is no the less required at runtime.
  • concurrent (2%)
  • exolab castor (6%)
  • axis 1.3 (4%)
Concurrent, Castor, and Axis resolve a number of build errors suggesting that each play an important role in Geronimo compilation. At this point the web service and axis modules are compiling.
  • howl (%)
Howl assists in Geronimo transaction managment. The Transaction module is now compiling.
  • activeio
  • ant
  • antlr
  • commons-collections
  • commons-cli
  • commons-fileupload
  • commons-httpclient
  • commons-io
  • commons-jelly
  • commons-logging
  • commons-modeler
  • commons-primatives
  • maven
  • regexps
  • velocity
These libraries result in the resolution of 6% of the compile errors.
  • hsqldb
HSQLDB is required for some of the security tests. Otherwise the security module is now compiling.
  • openejb
  • openorb
These libraries support common j2ee implementations of ejb and corba.

Security is now compiling.
  • axiondb
  • axis scout
  • bountycastle
  • catalina
  • derby
  • jetty
  • mockobjects
  • objectweb asm
  • spring
  • xfire
  • xstream
The frameworks that are extended by Geronimo are AxionDB, Axis Scout, BountyCastle, Catalina, Derby, Jetty, MockObjects, ObjectWeb ASM, Spring, XFire, and XStream. Adding these libraries resolves 10% of the compile errors.
  • geronimo-axis-builder-1.0-SNAPSHOT.jar
  • geronimo-client-builder-1.0-SNAPSHOT.jar
  • geronimo-connector-builder-1.0-SNAPSHOT.jar
  • geronimo-j2ee-builder-1.0-SNAPSHOT.jar
  • geronimo-j2ee-schema-1.0-SNAPSHOT.jar
  • geronimo-jetty-builder-1.0-SNAPSHOT.jar
  • geronimo-naming-1.0-SNAPSHOT.jar
  • geronimo-naming-builder-1.0-SNAPSHOT.jar
  • geronimo-security-builder-1.0-SNAPSHOT.jar
  • geronimo-service-builder-1.0-SNAPSHOT.jar
  • geronimo-spring-builder-1.0-SNAPSHOT.jar
  • geronimo-tomcat-builder-1.0-SNAPSHOT.jar
  • openejb-builder-1.0-SNAPSHOT.jar
These xmlbeans libraries represent configuration utilities used for reading and writing xml input and output. Adding these libraries to your Eclipse project classpath resolves 12% of the compile errors. All Geronimo modules that suffix "-builder" represent some kind of configuration processing library.

The remaining errors were caused by duplicate class files. I deleted them to move forward.

This is where it gets interesting. The server is started using the org.apache.geronimo.system.main.Daemon class in the system module. It requires the server.jar to be on the classpath. It is found in the modules/assembly/target/geronimo-1.0-SNAPSHOT/bin directory. Debugging this now. There are several errors that need to be work out.

No comments: