Date: 2005-01-04T13:20:39
Editor: BryanChe
Wiki: Apache Beehive Wiki
Page: For Beehive Developers
URL: http://wiki.apache.org/beehive/For Beehive Developers
Updated Eclipse setup instructions for 3.1 M4, source/lib dependencies
Change Log:
------------------------------------------------------------------------------
@@ -78,49 +78,138 @@
Each Beehive sub-component has a set of source paths and library dependencies
that are needed to develop Beehive from an IDE. Below are the list of
sub-components and their source paths and required libraries. In addition,
there are (will be) specific instructions for how to setup a Beehive
development environment in various IDEs. The paths below are referenced from
`$BEEHIVE_HOME` unless otherwise specified.
== General ==
- * WSM
- * Source Paths
- * `wsm/src/api`
- * `wsm/src/runtime`
- * Library Dependencies
- * `wsm/lib/xmltypes.jar`
- * `$JAVA_HOME/lib/tools.jar`
- * `external/xmlbeans/apache-xbean.jar`
- * `external/junit/junit.jar`
* Controls
* Source Paths
* `controls/src/api`
* `controls/src/runtime`
+ * `controls/src/spi`
* Library Dependencies
+ * `$ANT_HOME/lib/ant.jar`
+ * `external/servlet/servlet-api-2.4.jar`
+ * `$JAVA_HOME/lib/tools.jar`
+ * `external/velocity/velocity-1.4.jar`
* NetUI
* Source Paths
* `netui/src/bootstrap`
* `netui/src/compiler`
- * `netui/src/scoping`
- * `netui/src/util`
+ * `netui/src/javascript`
* `netui/src/pageflow`
+ * `netui/src/scoping`
+ * `netui/src/tags-databinding`
* `netui/src/tags-html`
* `netui/src/tags-template`
- * `netui/src/tags-databinding`
+ * `netui/src/tomcat-common/5x`
+ * `netui/src/tomcat-webapp/5x`
+ * `netui/src/util`
+ * `netui/src/webapp-template`
* Library Dependencies
- * `$JAVA_HOME/lib/tools.jar`
* `$ANT_HOME/lib/ant.jar`
- * `external/servlet/jsp-api-2.0.jar`
- * `external/servlet/servlet-api-2.4.jar`
* `external/xmlbeans/apache-xbean.jar`
- * `external/log4j/log4j-1.2.8.jar`
+ * `external/commons-codec/commons-codec-1.3.jar`
+ * `external/servlet/jsp-api-2.0.jar`
* `installed/jsr173/jsr173_1.0_api.jar`
- * `controls/build/jars/controls.jar`
- * `netui/external/commons-el/commons-el.jar`
- * `netui/external/struts/*.jar`
- * `netui/external/xdoclet/*.jar`
+ * `external/log4j/log4j-1.2.8.jar`
+ * `external/servlet/servlet-api-2.4.jar`
+ * `$JAVA_HOME/lib/tools.jar`
+ * `netui/external/struts/commons-beanutils.jar`
+ * `netui/external/struts/commons-collections.jar`
+ * `netui/external/struts/commons-digestor.jar`
+ * `netui/external/commons-el/commons-el.jar`
+ * `netui/external/struts/commons-fileupload.jar`
+ * `netui/external/struts/commons-logging.jar`
+ * `netui/external/struts/commons-validator.jar`
+ * `netui/external/struts/jakarta-oro.jar`
+ * `netui/external/struts/jdbc2_0-stdext.jar`
+ * `netui/external/jstl/jstl.jar`
+ * `netui/external/jsf/myfaces.jar`
+ * `netui/external/jstl/standard.jar`
+ * `netui/external/struts/struts.jar`
+ * `netui/external/xdoclet/xdoclet-1.2b4.jar`
+ * `netui/external/xdoclet/xdoclet-web-module-1.2b4.jar`
+ * `netui/external/xdoclet/xjavadoc-1.1-j5-v3.jar`
* Optional Library Dependencies (to include JSF support)
* `$JSF_HOME/lib/jsf-api.jar`
* `$JSF_HOME/lib/jsf-impl.jar`
+ * WSM
+ * Source Paths
+ * `wsm/src/api`
+ * `wsm/src/runtime`
+ * Library Dependencies
+ * `external/xmlbeans/apache-xbean.jar`
+ * `external/commons-codec/commons-codec-1.3.jar`
+ * `installed/jsr173/jsr173_1.0_api.jar`
+ * `external/junit/junit.jar`
+ * `$JAVA_HOME/lib/tools.jar`
+ * `wsm/external/axis.jar`
+ * `wsm/external/axis-ant.jar`
+ * `wsm/external/commons-discovery.jar`
+ * `wsm/external/commons-logging.jar`
+ * `wsm/external/jaxrpc.jar`
+ * `wsm/external/saaj.jar`
+ * `wsm/external/wsdl4j.jar`
+ * `wsm/lib/wsdltypes.jar`
== Eclipse ==
-Tested with eclipse 3.1-M2
+Tested with eclipse 3.1-M4
+
+You must first setup Eclipse 3.1 to use Java 5:
+ * Start Eclipse with a Java 5 JVM.
+ * Set Eclipse to use Java 5 compiler settings. You can do this by going to
Windows->Preferences->Java->Compiler->Compiler compliance level and setting it
to ''5.0.'' You may also want to create a ''beehive'' workspace specifically
for working with Beehive.
+
+You will need to create three projects in your workspace:
+ * controls
+ * netui
+ * wsm
+
+Each of these projects will have certain source paths, project dependencies,
and library dependencies that you need to setup.
+
+=== Handling XMLBeans ===
+Because Eclipse 3.1 M4 does not have any native or plugin support for
+Apache XMLBeans, you will need to generate a couple jars from Beehive
+XML Schemas.
+
+First, download the patch for generating these jars from
+http://issues.apache.org/jira/browse/BEEHIVE-147
+
+Then, apply the patch and run the following:
+{{{
+ $ ant -f $BEEHIVE_HOME/netui/ant/build-schema.xml
+ $ ant -f $BEEHIVE_HOME/wsm/build-schema.xml
+}}}
+
+This will generate two jar files, `netui-schema.jar` and `wsm-schema.jar`
+for use with Eclipse. Any time that Beehive's XML schemas are updated,
+you will need to re-generate these jar files.
+
+=== Project Setup ===
+Create the projects, controls, netui, and wsm. For each of the
+projects, setup its source, project dependencies, and libraries path:
+
+'''Controls Project'''
+
+Controls Project rooted at `$BEEHIVE_HOME/controls`
+
+Set the source and library dependencies as specified previously.
+
+This project has no dependencies.
+
+'''Netui Project'''
+
+Netui Project rooted at `$BEEHIVE_HOME/netui`
+
+Set the source and library dependencies as specified previously.
Additionally, make sure that you add the `netui-schema.jar` which you generated
earlier to the library path.
+
+This project has a dependency on the controls project.
+
+'''Wsm Project'''
+
+Wsm Project rooted at `$BEEHIVE_HOME/wsm`
+
+Set the source and library dependencies as specified previously.
Additionally, make sure that you add the `wsm-schema.jar` which you generated
earlier to the library path.
+
+This project has a dependency on the controls project.
+=== Ant Setup ===
Please add junit.jar in ANT's classpath. (NOT eclipse's classpath)
( window -> Preferences -> Runtime under Ant tree -> add
$BEEHIVE_HOME/external/junit/junit.jar in Global Entries in the Classpath tab)