| Oracle8i SQLJ Developer's Guide and Reference Release 8.1.5 A64684-01 |
|
To complement the loadjava utility, Oracle provides the dropjava utility to remove (drop) Java source, class, and resource schema objects. It is recommended that any schema object loaded into the server using loadjava be removed using dropjava only.
The dropjava utility transforms command-line file names and .jar file contents to schema object names, then removes the schema objects from the database. You can enter .sqlj, .java, .class, .ser, and .jar files on the command line in any order.
Alternatively, you can specify a schema object name (full name, not short name) directly to dropjava. A command-line argument that does not end in .jar, .zip, .class, .java, or .sqlj is presumed to be a schema object name. If you specify a schema object name that applies to multiple schema objects (such as a source schema object Foo and a class schema object Foo), all will be removed.
Dropping a class invalidates classes that depend on it, recursively cascading upwards. Dropping a source drops classes and resources that were generated from it.
For example, if you run loadjava on Foo.sqlj, then execute dropjava on the same file, as follows:
dropjava -user scott/tiger Foo.sqlj
If you translate your program on the client and load it using a .jar file containing the generated components, then use the same .jar file to remove the program:
dropjava -user scott/tiger Foo.jar
If you translate your program on the client and load the generated components using the loadjava command line, then remove them using the dropjava command line, as follows (presume there were no iterator classes):
dropjava -user scott/tiger Foo*.class dir1/dir2/Foo_SJProfile*.ser
Care must be taken if you are removing a resource that was loaded directly into the server. (This includes profiles if you translated on the client without using the -ser2class option.) When dropping source or class schema objects, or resource schema objects that were generated by the server-side SQLJ translator, the schema objects will be found according to the package specification in the applicable .sqlj source file. However, the fully qualified schema object name of a resource that was generated on the client and loaded directly into the server depends on path information in the .jar file or on the command line at the time you loaded it. If you use a .jar file to load resources and use the same .jar file to remove resources, there will be no problem. If, however, you use the command line to load resources, then you must be careful to specify the same path information when you run dropjava to remove the resources. (See "Naming of Class and Resource Schema Objects" for information about how resource schema objects are named when loaded directly into the server.)
For more information about dropjava, see the Oracle8i Enterprise JavaBeans and CORBA Developer's Guide.