Version 28.1 by David Avendasora on 2008/07/17 07:55

Show last authors
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.
2
3 The following are the instructions when using Ant to build:
4
5 1. Add the following "javaclient" target to your build.xml file.
6
7 {{code}}
8
9 <target name="javaclient">
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>
14
15 <!-- project user.d2wmodel file (D2JC only) -->
16 <copy file="user.d2wmodel" tofile="${dest.dir}/${project.name}.woa/Contents/Resources/user.d2wmodel"/>
17
18 </target>
19
20 {{/code}}
21
22 1. Make the "build" and "install" targets depend upon "javaclient" just prior to the "ssdd" target.
23
24 {{code}}
25
26 <target name="build" depends="setProps,init.build,build.woapp,javaclient,ssdd,war" />
27
28 {{/code}}
29
30 {{code}}
31 <target name="install" depends="setProps,init.install,build.woapp,javaclient,ssdd,war" />
32 {{/code}}
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 {{code}}
37
38 <!-- the Java Client Client-Side Classes -->
39 <copy todir="${dest.dir}/${project.name}/WEB-INF/${project.name}.woa/Contents/WebServerResources/Java">
40 <fileset dir="${wo.wolocalroot}/Library/Frameworks">
41 <include name="**/WebServerResources/Java/*.jar"/>
42 </fileset>
43 <mapper type="flatten"/>
44 </copy>
45
46
47 {{/code}}