Importing Missing CORBA Classes


The following hack is **TOTALLY** unsupported! This means that **neither** IBM **nor** Scott Stanchfield shall
be held accountable for any damage caused by this hack!

Hacking the VisualAge data files is AT YOUR OWN RISK. If you try this, try it on an isolated machine first!

The Problem

Several folks have had trouble using CORBA in VisualAge for Java version 3, Early Adopters Environment. The problem is that IBM has locked an incomplete version of the CORBA libraries from OMG in the Java class libraries project. This prevents anyone from adding in the missing classes that are necessary for many ORBs.

A Workaround

Warning: THE FOLLOWING IS A HACK!!!!!!!!!

I cannot stress that strong enough. However, it seems that the above problem is seriously impacting development (it's not simply a "I want to use JDK 1.1.8 instead of 1.1.7" issue).

Read through this process before doing anything.

I strongly recommend you try this out on an isolated machine, NOT your development machine. Make sure it seems stable for you before

  1. Version everything in your workspace

  2. Exit VisualAge

  3. Backup the repository (ivj.dat) and your project_resources directories somewhere safe

  4. [optional] uninstall & reinstall VAJ v3 Early Adopters environment (I recommend this step, but it's not absolutely necessary)

  5. Hex Edit the \IBMVJava\ide\program\runtime.icx file

  6. Look for second occurrence of ASCII "Java class libraries" (it should have <proj> before it)

  7. Change it to say "Java class librariex" (a bogus name) This seems to remove the lock...

  8. Save the runtime.icx

  9. Start VAJ

  10. Import missing CORBA class INTO the Java class libraries project

  11. Version Java class libraries as "1.2 corba hack"

  12. Exit VAJ

  13. Hex Edit runtime.icx, changing "Java class librariex" back to "Java class libraries"


My guess is that the spot we're editing in runtime.icx also controls some of the execution behavior for CLASSPATH and VCE and such. Because of this, it is imperative that you FIX the runtime.icx when done.

DO NOT use this to try to upgrade the JDK core libraries (ie JDK 1.1.7->1.1.8) -- it won't work and could cause some very nasty problems even if you do get it partially working.