rmic

 


 rmic(1)                                                   rmic(1)
 
 
 

NAME

rmic - Java RMI stub compiler

SYNOPSIS

rmic [ -bootclasspath path ] [ -classpath path ] [ -d directory ] [ -depend ] [ -extdirs path ] [ -g ] [ -idl ] [ -iiop ] [ -keepgenerated ] [ -J ] [ -nowarn ] [ -sourcepath path ] [ -vcompat ] [ -verbose ] [ -v1.1 ] [ -v1.2 ] package-qualified-class-names

DESCRIPTION

The rmic compiler generates stub and skeleton class files for remote objects from the names of compiled Javatm classes that contain remote object implementations. A remote object is one that implements the interface java.rmi.Remote. The classes named in the rmic command must have compiled successfully with the javac(1) command and be fully package-qualified. For example, running rmic on the class file name HelloImpl as shown here: example% rmic hello.HelloImpl creates the HelloImpl_Skel.class and HelloImpl_Stub.class files. A skeleton for a remote object is a server-side entity containing a method that dispatches calls to the remote object implementation. A stub is a proxy for a remote object that is responsible for forwarding method invocations on remote objects to the server where the actual remote object implementation resides. Therefore, a client's reference to a remote object is actually a reference to a local stub. The stub implements only the remote interfaces, not local interfaces also implemented by the remote object. Because the stub implements exactly the same set of remote inter­ faces as the remote object, a client can use the Java lan­ guage's built-in operators for casting and type-checking.

OPTIONS

The following options are supported: -bootclasspath path Overrides location of bootstrap class files. -classpath path Specifies the path rmic uses to look up classes. Setting this option overrides the default or the CLASSPATH environment vari­ able. Directories are separated by colons. Thus, the general format for path is: .:<your_path> For example: .:/usr/local/java/classes -d directory Specifies the root directory of the class hierarchy. If omitted, the root defaults to the current directory. -depend Causes the compiler to recompile classes referenced by other classes. Normally, the compiler only recompiles missing or out-of- date classes referred to from source code. -extdirs path Overrides location of installed extensions. -g Enables debugging table generation. Debug­ ging tables contain information about line numbers and local variables. This informa­ tion is used by Java debugging tools. By default, only line numbers are generated. -idl Causes rmic to generate OMG IDL for the classes specified and any classes refer­ enced. IDL provides a purely declarative, programming language-independent way of specifying an object's API. The IDL is used as a specification for methods and data that can be written in and invoked from any language that provides CORBA bind­ ings. This includes Java and C++ among others. When the -idl option is used, other options also include: -always or -alwaysgenerate Forces re-generation even when exist­ ing stubs/ties/IDL are newer than the input class. -factory Uses factory keyword in generated IDL. -idlModule fromJavaPackage[.class] toIDLModule Specifies IDLEntity package mapping. For example: -idlModule foo.bar my::real::idlmod. -idlFile fromJavaPackage[.class] toIDLFile Specifies IDLEntity file mapping. For example: -idlFile test.pkg.X TEST16.idl -iiop Causes rmic to generate IIOP stub and tie classes, rather than JRMP stub and skeleton classes. A stub class is a local proxy for a remote object and is used by clients to send calls to a server. Each remote inter­ face requires a stub class, which imple­ ments that remote interface. A client's reference to a remote object is actually a reference to a stub. Tie classes are used on the server side to process incoming calls and dispatch the calls to the proper implementation class. Each implementation class requires a tie class. Invoking rmic with -iiop generates stubs and ties that conform to this naming con­ vention: _<implementationName>_stub.class _<interfaceName>_tie.class When the -iiop option is used, other options also include: -always or -alwaysgenerate Forces re-generation even when exist­ ing stubs/ties/IDL are newer than the input class. -nolocalstubs Does not create stubs optimized for same-process clients and servers. -noValueMethods Must be used with the -idl option. Prevents addition of valuetype methods and initializers to emitted IDL. These methods and initializers are optional for valuetypes and are gener­ ated unless the -noValueMethods option is specified when using the -idl option. -J Used in conjunction with the -D option, the -J option passes the option following it (no spaces between -J and -D) on to the java interpreter. -keepgenerated Retains the generated .java source files for the stubs and skeletons. If the -d option if specified, -keepgenerated writes them to the same directory as the .class files. -nowarn Turns off warnings. If used, the compiler does not print warnings. -sourcepath path Specifies where to find user source files. -vcompat Creates stubs and skeletons compati­ ble with both JDK 1.1 and 1.2 stub protocoal versions (default). -verbose Causes the compiler and linker to display messages about the classes being compiled and what class files being loaded. -v1.1 Creates stubs and skeletons for JDK 1.1 stub protocol version. -v1.2 Creates stubs for JDK 1.2 stub pro­ tocol version only.

ENVIRONMENT VARIABLES

CLASSPATH Used to provide the system with a path to user-defined classes. Directories are separated by colons. For example, .:/usr/local/java/classes 13 June 2000 rmic(1)