Wiki source code of Java Client-WebStart Incremental Build
Version 52.1 by Florijan Stamenkovic on 2008/06/17 18:51
Show last authors
author | version | line-number | content |
---|---|---|---|
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 | |||
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 | |||
5 | 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. | ||
6 | |||
7 | Below are the steps for adding an additional "Ant Builder" to your project to generate and place the required jar in the right location. | ||
8 | |||
9 | 1. Create a "javaclientbuild.xml" file in the root of your project, with the following as its contents: | ||
10 | |||
11 | {{code}} | ||
12 | |||
13 | <project name="javaclient" default="javaclient" basedir="."> | ||
14 | <target name="setProps"> | ||
15 | <property file="${user.home}${file.separator}build.properties"/> | ||
16 | <property file="build.properties"/> | ||
17 | <property file="${user.home}${file.separator}Library${file.separator}wobuild.properties"/> | ||
18 | <condition property="wo.properties.check.failed"> | ||
19 | <not> | ||
20 | <and> | ||
21 | <isset property="wo.wosystemroot"/> | ||
22 | <isset property="wo.wolocalroot"/> | ||
23 | </and> | ||
24 | </not> | ||
25 | </condition> | ||
26 | <fail message="Could not find ${user.home}${file.separator}Library${file.separator}wobuild.properties." if="wo.properties.check.failed"/> | ||
27 | </target> | ||
28 | <target name="javaclient" depends="setProps"> | ||
29 | <mkdir dir="build/${project.name}.woa/Contents/WebServerResources/Java"/> | ||
30 | <jar basedir="${classes.dir}" includes="**/client/**/*.class,**/common/**/*.class" | ||
31 | jarfile="build/${project.name}.woa/Contents/WebServerResources/Java/${project.name}.jar"> | ||
32 | </jar> | ||
33 | </target> | ||
34 | </project> | ||
35 | |||
36 | {{/code}} | ||
37 | |||
38 | 1. Right-Click on your project, and select Properties. | ||
39 | 1. Click on "Builders" on the left side. | ||
40 | [[image:Picture 2.png]] | ||
41 | 1. Click the "New" button. | ||
42 | 1. Select "Ant Build" and click "Okay". | ||
43 | 1. Name it "Java Client Incremental Builder" | ||
44 | 1. Under the "Main" tab, click "Browse Workspace". | ||
45 | 1. Click on your Project, and select the javaclientbuild.xml file you created in step 1, click "Okay". | ||
46 | [[image:Picture 3.png]] | ||
47 | 1. Under the "Refresh" tab, check "Refresh resources upon completion." and select "The project containing the selected resource" | ||
48 | [[image:Picture 4.png]] | ||
49 | 1. Under the "Targets" tab, set "javaclient" for "After a 'Clean'", "Manual Build" and "Auto Build". | ||
50 | [[image:Picture 5.png]] | ||
51 | It will show up as "<Default Target Selected>" | ||
52 | [[image:Picture 7.png]] | ||
53 | 1. Click okay to close the Builder Properties window. | ||
54 | 1. Make sure your new Builder is checked and executes AFTER the WOLips Incremental Builder, otherwise it will error. | ||
55 | 1. Click "Okay" to exit Project Properties. | ||
56 | |||
57 | Done. You can now use the Eclipse "Run..." command just as you would for any other WOLips project. |