Version 25.1 by David Avendasora on 2008/07/17 07:59

Hide last authors
David Avendasora 21.1 1 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.
David Avendasora 13.1 2
David Avendasora 19.1 3 The following are the instructions when using Ant to build:
David Avendasora 13.1 4
David Avendasora 19.1 5 1. Add the following "javaclient" target to your build.xml file.
David Avendasora 13.1 6
7 {{code}}
8
9 <target name="javaclient">
David Avendasora 15.1 10 <mkdir dir="${dest.dir}/${project.name}.woa/Contents/WebServerResources/Java"/>
11 <jar basedir="${classes.dir}" includes="**/client/**/*.class,**/common/**/*.class"
12 jarfile="${dest.dir}/${project.name}.woa/Contents/WebServerResources/Java/${project.name}.jar">
13 </jar>
David Avendasora 21.1 14
15 <!-- project user.d2wmodel file (D2JC only) -->
16 <copy file="user.d2wmodel" tofile="${dest.dir}/${project.name}.woa/Contents/Resources/user.d2wmodel"/>
17
David Avendasora 13.1 18 </target>
19
20 {{/code}}
21
David Avendasora 19.1 22 1. Make the "build" and "install" targets depend upon "javaclient" just prior to the "ssdd" target.
David Avendasora 13.1 23
24 {{code}}
25
26 <target name="build" depends="setProps,init.build,build.woapp,javaclient,ssdd,war" />
27
David Avendasora 19.1 28 {{/code}}
29
30 {{code}}
David Avendasora 17.1 31 <target name="install" depends="setProps,init.install,build.woapp,javaclient,ssdd,war" />
David Avendasora 13.1 32 {{/code}}
David Avendasora 25.1 33
34 1. If you are using any Frameworks that have client-side jars then you'll need to copy those jars over to the WebServerResources/Java directory as well. Because I don't want to go modifying any of the woproject files, I just copy the client-side jars of all my Local frameworks (Library/Frameworks/) into my app. Ideally it would only copy over the ones for the frameworks actually in the build path, but this works for now. I'll re-address it after the upcoming classpath changes to be rolled into WOLips.
35
36 Add the following code to your build.xml file, right at the end of the ssdd target, but before all the classpath fixes.
37
38 {{code}}
39
40 <!-- the Java Client Client-Side Classes -->
41 <copy todir="${dest.dir}/${project.name}/WEB-INF/${project.name}.woa/Contents/WebServerResources/Java">
42 <fileset dir="${wo.wolocalroot}/Library/Frameworks">
43 <include name="**/WebServerResources/Java/*.jar"/>
44 </fileset>
45 <mapper type="flatten"/>
46 </copy>
47
48
49 {{/code}}