Last modified by David Avendasora on 2009/02/05 17:10

From version 49.1
edited by David Avendasora
on 2008/06/17 14:21
Change comment: There is no comment for this version
To version 50.1
edited by David Avendasora
on 2008/06/25 10:15
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -Java Client-Incremental Build
1 +Java Client-WebStart Incremental Build
Content
... ... @@ -1,5 +1,7 @@
1 -WOLips incremental builder will not automatically create the required jar of your client-side classes and place it in the project.woa/Contents/WebServerResources/Java/ directory as is required by a Java Client application.
1 +There are many ways you can deploy WebObjects JavaClient applications. One of the ways to do it is through WebStart. You could manually create a WebStart app, but WebObjects can also do it for you, taking care of JNLP creation, jar organization, and many WebStart nasty bits.
2 2  
3 +There is a problem however. The WOLips incremental builder will not automatically create the required jar of your client-side classes and place it in the project.woa/Contents/WebServerResources/Java/ directory as is required by a WebObjects WebStart Java Client application.
4 +
3 3  Without the client classes placed in WebServerResources, Eclipse's built-in Run... command will not work properly as the client application will not have access to its classes and WebObjects will silently fall-back to EOGenericRecord. This causes the confusing condition of the application launching and likely not generating any errors, but not working correctly either.
4 4  
5 5  Below are the steps for adding an additional "Ant Builder" to your project to generate and place the required jar in the right location.
... ... @@ -25,12 +25,44 @@
25 25   </target>
26 26   <target name="javaclient" depends="setProps">
27 27   <mkdir dir="build/${project.name}.woa/Contents/WebServerResources/Java"/>
28 - <jar basedir="${classes.dir}" includes="**/client/**/*.class,**/common/**/*.class"
30 +
31 + <!-- project client-side classes -->
32 + <copy todir="build/${project.name}.woa/Contents/WebServerResources/Java/">
33 + <fileset dir="${classes.dir}">
34 + <include name="**/client/**/*.class,**/common/**/*.class,**/BMGenericRecord.class"/>
35 + <exclude name="**/server/**/*.class"/>
36 + </fileset>
37 + </copy>
38 +
39 + <jar basedir="${classes.dir}"
40 + includes="**/client/**/*.class,**/common/**/*.class,**/BMGenericRecord.class"
41 + excludes="**/server/**/*.class"
29 29   jarfile="build/${project.name}.woa/Contents/WebServerResources/Java/${project.name}.jar">
30 30   </jar>
44 +
45 + <!-- Launch Scripts and WOBootstrap.jar-->
46 + <mkdir dir="build/${project.name}.woa/Contents/MacOS"/>
47 + <mkdir dir="build/${project.name}.woa/Contents/UNIX"/>
48 + <mkdir dir="build/${project.name}.woa/Contents/Windows"/>
49 +
50 + <copy file="/Library/Application Support/Apple/Developer Tools/WebObjects Support/UnixLaunch.sh"
51 + tofile="build/${project.name}.woa/Contents/${project.name}"/>
52 + <chmod file="build/${project.name}.woa/Contents/${project.name}" perm="ugo+rx"/>
53 + <copy file="/Library/Application Support/Apple/Developer Tools/WebObjects Support/WinLaunch.CMD"
54 + tofile="build/${project.name}.woa/Contents/${project.name}.CMD"/>
55 + <copy file="/Library/Application Support/Apple/Developer Tools/WebObjects Support/WOBootstrap.jar"
56 + tofile="build/${project.name}.woa/Contents/WOBootstrap.jar"/>
57 +
58 + <copy file="/Library/Application Support/Apple/Developer Tools/WebObjects Support/UnixLaunchClient.sh"
59 + tofile="build/${project.name}.woa/Contents/MacOS/${project.name}_Client"/>
60 + <chmod file="build/${project.name}.woa/Contents/MacOS/${project.name}_Client" perm="ugo+rx"/>
61 + <copy file="ClasspathClient.txt" tofile="build/${project.name}.woa/Contents/MacOS/ClasspathClient.txt"/>
62 +
63 + <copy file="/Library/Application Support/Apple/Developer Tools/WebObjects Support/WinLaunch.CMD"
64 + tofile="build/${project.name}.woa/Contents/Windows/${project.name}.CMD"/>
65 +
31 31   </target>
32 32  </project>
33 -
34 34  {{/code}}
35 35  
36 36  1. Right-Click on your project, and select Properties.