The following guide is aimed at getting you up and running with as minimal fuss as possible.

Requirements

You'll need the following software installed prior to following this tutorial.

Future upgrades

In future, to keep this up to date:

sudo port upgrade maven2
  • Maven Settings

TODO

Step 1 - Importing WebObjects libraries

Download and install the latest WebObjects frameworks from Apple (included with Xcode Developer Tools). Then import the WebObjects jars into your repository by executing the following from the terminal:

mvn wobootstrap:install

"Additional reading"

For further information about the available options and goals of the wobootstrap plugin see here.

The output from running the above command will look something like this:

ldecks-macbook-pro:tutorials ldeck$ mvn wobootstrap:install
[INFO] Scanning for projects...
[INFO] Reactor build order: 
[INFO]   Unnamed - com.mycompany.app:app:pom:1.0-SNAPSHOT
[INFO]   getting-started
[INFO]   my-webapp Maven Webapp
[INFO]   Unnamed - com.mycompany.app:modules:pom:1.0-SNAPSHOT
[INFO]   starting-again
[INFO] Searching repository for plugin with prefix: 'wobootstrap'.
[INFO] org.objectstyle.woproject.maven2: checking for updates from mdimension.releases
[INFO] org.objectstyle.woproject.maven2: checking for updates from central
[INFO] org.apache.maven.plugins: checking for updates from mdimension.releases
[INFO] org.codehaus.mojo: checking for updates from mdimension.releases
[INFO] artifact org.objectstyle.woproject.maven2:maven-wobootstrap-plugin: checking for updates from mdimension.releases
Downloading: http://webobjects.mdimension.com/maven2/releases/org/objectstyle/woproject/maven2/maven-wobootstrap-plugin/2.0.16/maven-wobootstrap-plugin-2.0.16.pom
2K downloaded
Downloading: http://webobjects.mdimension.com/maven2/releases/org/objectstyle/woproject/maven2/maven-wobootstrap-plugin/2.0.16/maven-wobootstrap-plugin-2.0.16.jar
20K downloaded
[INFO] ------------------------------------------------------------------------
[INFO] Building Unnamed - com.mycompany.app:app:pom:1.0-SNAPSHOT
[INFO]    task-segment: [wobootstrap:install] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] [wobootstrap:install]
[INFO] Installing /Library/WebObjects/lib/JavaBusinessLogic.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaBusinessLogic/5.4.3/JavaBusinessLogic-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaDirectToWeb.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaDirectToWeb/5.4.3/JavaDirectToWeb-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaDTWGeneration.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaDTWGeneration/5.4.3/JavaDTWGeneration-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaEOAccess.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaEOAccess/5.4.3/JavaEOAccess-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaEOApplication.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaEOApplication/5.4.3/JavaEOApplication-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaEOControl.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaEOControl/5.4.3/JavaEOControl-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaEODistribution.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaEODistribution/5.4.3/JavaEODistribution-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaEOGeneration.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaEOGeneration/5.4.3/JavaEOGeneration-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaEOInterface.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaEOInterface/5.4.3/JavaEOInterface-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaEOInterfaceCocoa.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaEOInterfaceCocoa/5.4.3/JavaEOInterfaceCocoa-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaEOInterfaceSwing.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaEOInterfaceSwing/5.4.3/JavaEOInterfaceSwing-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaEOProject.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaEOProject/5.4.3/JavaEOProject-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaEORuleSystem.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaEORuleSystem/5.4.3/JavaEORuleSystem-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaEOTool.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaEOTool/5.4.3/JavaEOTool-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaFoundation.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaFoundation/5.4.3/JavaFoundation-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaJDBCAdaptor.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaJDBCAdaptor/5.4.3/JavaJDBCAdaptor-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaJNDIAdaptor.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaJNDIAdaptor/5.4.3/JavaJNDIAdaptor-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaMonitorSupport.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaMonitorSupport/5.4.3/JavaMonitorSupport-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaRealEstate.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaRealEstate/5.4.3/JavaRealEstate-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaWebObjects.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaWebObjects/5.4.3/JavaWebObjects-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaWebServicesClient.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaWebServicesClient/5.4.3/JavaWebServicesClient-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaWebServicesGeneration.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaWebServicesGeneration/5.4.3/JavaWebServicesGeneration-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaWebServicesSupport.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaWebServicesSupport/5.4.3/JavaWebServicesSupport-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaWOExtensions.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaWOExtensions/5.4.3/JavaWOExtensions-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaWOJSPServlet.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaWOJSPServlet/5.4.3/JavaWOJSPServlet-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/JavaXML.jar to /Users/ldeck/.m2/repository/com/webobjects/JavaXML/5.4.3/JavaXML-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/PetStoreWOModel.jar to /Users/ldeck/.m2/repository/com/webobjects/PetStoreWOModel/5.4.3/PetStoreWOModel-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/WOComponentElements.jar to /Users/ldeck/.m2/repository/com/webobjects/WOComponentElements/5.4.3/WOComponentElements-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/WOComponentExamples.jar to /Users/ldeck/.m2/repository/com/webobjects/WOComponentExamples/5.4.3/WOComponentExamples-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/WOExamplesHarness.jar to /Users/ldeck/.m2/repository/com/webobjects/WOExamplesHarness/5.4.3/WOExamplesHarness-5.4.3.jar
[INFO] Installing /Library/WebObjects/lib/WOSessionStoreExample.jar to /Users/ldeck/.m2/repository/com/webobjects/WOSessionStoreExample/5.4.3/WOSessionStoreExample-5.4.3.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 10 seconds
[INFO] Finished at: Tue Dec 09 08:02:40 EST 2008
[INFO] Final Memory: 3M/6M
[INFO] ------------------------------------------------------------------------
ldecks-macbook-pro:tutorials ldeck$ 

Step 2 - Creating a WebObjects Application Project

TODO

Step 3 - Run The Application

mvn clean jetty:run-war