I’d never tried deploying a WebObjects app under Tomcat (or JBoss, or any other J2EE container) before. I’d always just stuck with the built-in WebObjects appserver, and did the config/management in JavaMonitor. Well, it’s now a Really Good Idea™ to make sure any app you want to deploy on non-MacOSX boxes will work in the servlet engines.
So, I did a quick RTFM. (twice, because it’s taking longer for it to soak in after midnight after a busy day of WWDC) Then I twiddled the appropriate bits in my XCode project build settings. Built the .war bundle. Downloaded Tomcat (for servlet spec 2.2), copied the .war into the webapps directory, and lit it up. It just worked. Mostly. Except for funky CSS stuff (because I don’t have any freaking idea how to deploy a Tomcat/WO app, and stuff that’s normally vended via Apache is now just firing 404s).
But, what I care about is that it works!!! We’ve now got (ok. it’s been in WO for a long time now, but I just took advantage of it – cut me some slack) what appears to be an easy way to deploy a WebObjects app on any platform that can run Tomcat. That’s pretty sweet. We’ll be hitting the WebObjects Lab this morning to get some more stuff figured out, but this is looking promising now!
The WWDC session on deploying WO apps on JBoss was pert’ near useless. I did manage to make a bee-line to the mike for Q&A to ask wtf the deal was with cross-platform deployment.
Just to document the event:

OK. Now to sleep.
So I’m curious about doing this on Linux. Any idea whether it will work, or even on Windows 2003. I’m thinking about deploying WO 5.3 on both platforms any pointers or guidance?
thanks.
Should work fine on Linux, Windows, or anything else that can run Tomcat as a container. The biggest thing I’d watch out for is paths and environment variables. A little trial and error should get you going.
Another developer on the Pachyderm project has been able to get the app running just fine on Windows and Linux, just by running the .woa as a service (on it’s own, without Tomcat). Not sure how that will scale, but it’s another option.
Great!!! do you have a contact email for the Pachyderm project developer? I’m about to embark on doing this and i need as much help as possible as i’m facing a deadline.
thanks!
I tried moving my .woa files (which works well and good on OSX) to an windows 2004 server and made sure the Jars in use where also copied and accessible etc. However when i tried just running the myapplication.cmd script it hits an error that looks like this:
Any pointers from the pachyderm developer (if you can put me in touch with him/her) would be greatly appreciated.
===============
[2006-04-12 21:03:44 EDT] Unable to initialize WOProperties for reason: C
annot find JavaWebObjects framework ! java.lang.NullPointerException
[2006-04-12 21:03:44 EDT] A fatal exception occurred: null: : Cannot be initialized.
[2006-04-12 21:03:44 EDT] com.webobjects.foundation.NSForwardException fo
r java.lang.NullPointerException
at com.webobjects.appserver._private.WOProperties.initUserDefaultsKeys(W
OProperties.java:188)
at com.webobjects.appserver.WOApplication._initWOApp(WOApplication.java:
5081)
at com.webobjects.appserver.WOApplication.(WOApplication.java:551)
at Application.(Application.java:24)
=============
You could try posting to the Sourceforge project for Pachyderm…
http://sourceforge.net/projects/pachyderm/
I’m trying to deploy a Project Wonder app in Tomcat under Windows. I built my app’s WAR in Eclipse+WOLips. When i’m launching Tomcat after moving the WAR to the webapps folder i’m getting this exception:
==========================
Servlet /HelloWonderWorld threw load() exception
javax.servlet.UnavailableException: Can’t find application bundle. You can either define WOROOT, LOCALROOT and WOAINSTALLROOT as Java system properties (e.g. in your application server’s launch script as command line arguments) or in the application Deployment Descriptor file (web.xml).
==========================
From what i can tell all paths point to the right directories where i keep all the WO frameworks. I’ve been messing around with those variables for quite some time now without success.
Any hints on that?
Thx!