Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Warning

This is deprecated information!

Table of Contents
maxLevel1

ProjectBuilder and XCode

ProjectBuilder and Xcode are no longer supported IDEs for WebObjects development or deployment. While legacy projects may still use it there is little, if any, support available for it. Existing projects (except Objective-C WebObjects projects, of course) should be migrated to WOLips. It isn't as hard as you might think, and WOLips is a much more powerful WebObjects IDE.

Installing WebObjects and WOLips

  1. Download Golipse
    Golipse (source) will fetch the needed version of Eclipse, WOLips and other tools for WebObjects development.

...

  1. Install the WebObjects
    The best way to install the WebObjects frameworks is according to these instructions.
  2. Start Eclipse and switch to the WOLips perspective.
    • Under the Window menu, select Open Perspective > Other....
    • Select WOLips and click Ok.

      Image Modified

      Note
      titleWOLips Perspective

      If you don't switch to the WOLips perspective, you won't be able to create new WebObjects projects.

...

Search for rewrite_module, and above it, add this line:

Code Block

LoadModule WebObjects_module /System/Library/WebObjects/Adaptors/Apache2.2/mod_WebObjects.so

Go to the very end and add:

Code Block

Include /System/Library/WebObjects/Adaptors/Apache2.2/apache.conf

Search for "Directory /" and comment out the Order and Deny lines:

Code Block

<Directory />
    Options FollowSymLinks
    AllowOverride None
    #Order deny,allow
    #Deny from all
</Directory>

Restart apache

Code Block

sudo apachectl graceful

If you run ps auxw | grep httpd you should see apache now running

Create /Library/LaunchDaemons/com.apple.webobjects.wotaskd.plist with:
(for OSX 10.5 make sure the permissions of this file are 644 system/wheel/everyone otherwise launchctl will throw a "dubious permissions" error when you try to load the plist with the commands that follow)

Code Block

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Disabled</key>
	<false/>
	<key>GroupName</key>
	<string>appserverusr</string>
	<key>Label</key>
	<string>com.apple.webobjects.wotaskd</string>
	<key>OnDemand</key>
	<false/>
	<key>Program</key>
	<string>/System/Library/WebObjects/JavaApplications/wotaskd.woa/wotaskd</string>
	<key>ProgramArguments</key>
	<array>
		<string>wotaskd</string>
		<string>-WOPort</string>
		<string>1085</string>
	</array>
	<key>ServiceIPC</key>
	<false/>
	<key>UserName</key>
	<string>appserver</string>
</dict>
</plist>

Create /Library/LaunchDaemons/com.apple.webobjects.womonitor.plist with:
(for OSX 10.5 make sure the permissions of this file are 644 system/wheel/everyone otherwise launchctl will throw a "dubious permissions" error when you try to load the plist with the commands that follow)

Code Block

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Disabled</key>
	<false/>
	<key>GroupName</key>
	<string>appserverusr</string>
	<key>Label</key>
	<string>com.apple.webobjects.womonitor</string>
	<key>OnDemand</key>
	<false/>
	<key>Program</key>
	<string>/System/Library/WebObjects/JavaApplications/JavaMonitor.woa/JavaMonitor</string>
	<key>ProgramArguments</key>
	<array>
		<string>JavaMonitor</string>
		<string>-WOPort</string>
		<string>56789</string>
	</array>
	<key>ServiceIPC</key>
	<false/>
	<key>UserName</key>
	<string>appserver</string>
</dict>
</plist>

Start the launchd daemons :
(you may need to sudo here)

Code Block

launchctl load /Library/LaunchDaemons/com.apple.webobjects.wotaskd.plist
launchctl load /Library/LaunchDaemons/com.apple.webobjects.womonitor.plist

If you run "ps auxw | grep java" you should see wotaskd and java monitor now running. You should be able to connect to Monitor by this URL:

Code Block

http://localhost:56789