Your deployed WebStart-distributed application must have a jar of all the client-side classes (and any subclasses of EOGenericRecord that your client-classes extend) in the Project.woa/Contents/WebServerResources/Java/ directory. If you don't include a jar of your client-side classes in this directory, WebObjects silently uses EOGenericRecord instead. This is made obvious by things like default values, client-side validation and other client-side logic not working in the deployed application.

The following are the instructions are for use with versions of WOLips prior to the current Stable, which has these settings already.

When using Ant to build:

  1. Add the following "javaclient" target to your build.xml file.
    <target name="javaclient">
    	<mkdir dir="${dest.dir}/${}.woa/Contents/WebServerResources/Java" />
    	<!-- project client-side classes -->
    	<jar basedir="${classes.dir}" includes="**/client/**/*.class,**/common/**/*.class" jarfile="${dest.dir}/${}.woa/Contents/WebServerResources/Java/${}.jar">
    	<!-- project user.d2wmodel file (D2JC only) -->
    	<copy file="user.d2wmodel" tofile="${dest.dir}/${}.woa/Contents/Resources/user.d2wmodel" />
  2. Make the "build" and "install" targets depend upon "javaclient" just prior to the "ssdd" target.
    <target name="build" depends="setProps,,build.woapp,javaclient,ssdd,war" />
    <target name="install" depends="setProps,init.install,build.woapp,javaclient,ssdd,war" />
  • No labels