Appendix D. Frequently Asked Questions

Scope of this FAQ: This document is not intended as a general GT3 FAQ, but only aims to answer questions related to the tutorial. If you're looking for a complete GT3 FAQ, you can find one here (in the Globus website).

Q: I get a NoClassDefFoundError when trying to run a GT3 command.
Q: I get a lot of cannot resolve symbol errors when trying to compile a client (mostly in Globus classes)
Q: Can I use the 'handy multipurpose' buildfile for personal projects? If so, what limitations does it have?
Q:

I get a NoClassDefFoundError when trying to run a GT3 command.

A:

Whenever you run a GT3 command without Ant (for example, to create a service instance, or when running the clients), you need to manually set a couple of environment variables first.

In GT3.0.x this is done by placing yourself in $GLOBUS_LOCATION and running the following command:

 source ./setenv.sh

GT3.2.x users should do the following:

 source $GLOBUS_LOCATION/etc/globus-devel-env.sh

Remember, if you're using Ant, Ant takes care of setting the environment variables for you. If you still get that error, make sure GT3 and Ant are properly installed (double-check the environment variables).

Q:

I get a lot of cannot resolve symbol errors when trying to compile a client (mostly in Globus classes)

A:

The same answer to the previous question applies to this one. Since we're not using Ant to compile the clients, some environment variables must be set up first (the setenv.sh and globus-devel-env.sh scripts takes care of that). Also, you need to run this command once (not each time you want to compile a client).

If you get cannot resolve symbol errors on stub classes (MathPortType, MathServiceGridLocator, etc.) make sure you're using the -classpath ./build/classes:$CLASSPATH argument when running the Java compiler.

Q:

Can I use the 'handy multipurpose' buildfile for personal projects? If so, what limitations does it have?

A:

Feel free to use the handy buildfile and script (used throughout the tutorial) in your projects. However, take into account that they have certain limitations, since they assume a very specific directory structure. As long as any examples you write are similar to the ones shown in the tutorial, you should be safe. In the near future I hope to thoroughly document and expand the 'handy multipurpose' buildfile so it can be easily used in non-tutorial examples.