'\" t .\" @(#)rmic.1 1.4 98/04/20 SMI; .\" Copyright (c) 1996 Sun Microsystems, Inc. .\" All Rights Reserved. .TH rmic 1 "20 May 1997" .SH NAME rmic \- Java RMI stub compiler .\" .\" This document was created by saving an HTML file as text .\" from the JavaSoft web site: .\" .\" http://www.javasoft.com:80/products/jdk/1.1/docs/tooldocs/solaris/index.html .\" .\" and adding appropriate troff macros. Because the JavaSoft web site .\" man pages can change without notice, it may be helpful to diff .\" files to identify changes other than new functionality. .\" .SH SYNOPSIS .B rmic [ .BI \-classpath " path" ] [ .BI \-d " directory" ] [ .B \-depend ] [ .B \-g ] .if n .ti +5n [ .B \-keepgenerated ] .if t .ti +5n [ .B \-nowarn ] [ .B \-O ] [ .B \-show ] .if n .ti +5n [ .B \-verbose ] .I package-qualified-class-names .SH DESCRIPTION .IX "Java RMI stub compiler" "" "Java RMI stub compiler \(em \fLrmic\fP" .IX "rmic" "" "\fLrmic\fP \(em Java RMI stub compiler" The .B rmic compiler generates stub and skeleton class files for remote objects from the names of compiled Java\(tm classes that contain remote object implementations. A remote object is one that implements the interface \f3java.rmi.Remote\f1. The classes named in the .B rmic command must have compiled successfully with the .BR javac (1) command and be fully package-qualified. For example, running .B rmic on the class file name .B HelloImpl as shown here: .LP .nf .B example% rmic hello.HelloImpl .fi .LP creates the .B HelloImpl_Skel.class and .B HelloImpl_Stub.class files. .LP A skeleton for a remote object is a server-side entity containing a method that dispatches calls to the remote object implementation. .LP 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. .LP 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 interfaces as the remote object, a client can use the Java language's built-in operators for casting and type-checking. .SH OPTIONS .TP 15 .BI \-classpath " path" Speecifies the path .B rmic uses to look up classes. Setting this option overrides the default or the .SB CLASSPATH environment variable. Directories are separated by colons. Thus the general format for path is: .LP .RS 20 .B .:<\f2your_path\f3>\f1 .RE .LP .RS 15 For example: .LP .RS 5 .B .:/usr/local/java/classes .RE .RE .TP 15 .BI \-d " directory" Specifies the root directory of the class hierarchy. You can use this option to specify a destination directory for the stub and skeleton files. For example, the command: .LP .RS 20 .B % rmic -d /java/classes/foo.MyClass .RE .LP would place the stub and skeleton classes derived from MyClass into the directory .BR /java/classes/food . If the .B \-d option is not used, the package hierarchy of the target class is ignored, and stub and skeleton files are placed in the current directory. .TP 15 .B \-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. .br .ne 5 .TP 15 .B \-g Enables debugging table generation. Debugging tables contain information about line numbers and local variables. This information is used by Java debugging tools. By default, only line numbers are generated, unless optimization (\f3\-O\f1) is turned on. .br .ne 4 .TP 15 .B \-keepgenerated Retains the generated .B .java source files for the stubs and skeletons. If the .B \-d option if specified, .B \-keepgenerated writes them to the same directory as the .B .class files. .TP 15 .B \-nowarn Turns off warnings. If used, the compiler does not print warnings. .TP 15 .B \-O Optimizes compiled code by inlining static, final, and private methods. Please note that your classes may get larger. .TP 15 .B \-show Shows the GUI (graphical user interface) for the .B rmic compiler. Enter one or more package-qualified class names (separated by spaces) and press either the ENTER key or the SHOW button to create stubs and skeletons. .TP 15 .B \-verbose Causes the compiler and linker to display messages about the classes being compiled and what class files being loaded. .SH ENVIRONMENT VARIABLES .TP 15 .SB CLASSPATH Used to provide the system with a path to user-defined classes. Directories are separated by colons. For example, .LP .RS 20 .nf .B .:/usr/local/java/classes .fi .RE .LP .SH ATTRIBUTES See .BR attributes (5) for a description of the following attributes: .sp .TS box; cbp-1 | cbp-1 l | l . ATTRIBUTE TYPE ATTRIBUTE VALUE = Availability SUNWjvdev .TE .SH SEE ALSO .BR javac (1), .BR attributes (5)