Child pages
  • Java Client-WebStart Incremental Build

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

Without the client classes placed here, the in WebServerResources, Eclipse's built-in Run... command will not work properly as the client application will not have access to it's its classes and WebObjects will silently fail fall-back to EOGenericRecord. This causes the confusing condition of the application launching and likely not generating any errors, but not working correctly either.

Below is a work-around until the incremental builder can be modified to create the needed directory and jar file.

...

are the steps for adding an additional "Ant Builder" to your project to generate and place the required jar in the right location.

  1. Create a "javaclientbuild.xml" file in the root of your project, with the following as its contents:
    Code Block
    
    <project name="javaclient" default="javaclient" basedir=".">
    	<target name="setProps">
    		<property file="${user.home}${file.separator}build.properties"/>
    		<property file="build.properties"/>
    		<property file="${user.home}${file.separator}Library${file.separator}wobuild.properties"/>
    		<condition property="wo.properties.check.failed">
    			<not>
        			<and>
          				<isset property="wo.wosystemroot"/>
          				<isset property="wo.wolocalroot"/>
        			</and>
        		</not>
      		</condition>
      		<fail message="Could not find ${user.home}${file.separator}Library${file.separator}wobuild.properties." if="wo.properties.check.failed"/>
    	</target>
    	<target name="javaclient" depends="setProps">
    		<mkdir dir="build/${project.name}.woa/Contents/WebServerResources/Java"/>
    		<jar basedir="${classes.dir}" includes="**/client/**/*.class,**/common/**/*.class"
         			jarfile="build/${project.name}.woa/Contents/WebServerResources/Java/${project.name}.jar">
    		</jar>
    	</target>
    </jar>
    

This code will cause the "WOLips Ant Tools -> Install" function to put the required jar file in the project's WebServerResources directory, which the incremental builder will then pick-up and place in the build directory.

...

  1. project>
    
  1. Right-Click on your project, and select Properties.
  2. Click on "Builders" on the right side.
  3. Click the "New" button.
  4. Select "Ant Build" and click "Okay".
  5. Name it "Java Client Incremental Builder"
  6. Under the "Main" tab, click "Browse Workspace".
  7. Click on your Project, and select the javaclientbuild.xml file you created in step 1, click "Okay".
  8. Click okay to close the Builder Properties window.
  9. Make sure your new Builder is checked and executes AFTER the WOLips Incremental Builder, otherwise it will error.
  10. Click "Okay" to exit Project Properties.

Done. You can now use the Eclipse "Run..." command just as you would for any other WOLips project.