264 lines
8.8 KiB
Groff
264 lines
8.8 KiB
Groff
.\" Copyright (c) 1994, 2019, Oracle and/or its affiliates. All rights reserved.
|
|
.\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
.\"
|
|
.\" This code is free software; you can redistribute it and/or modify it
|
|
.\" under the terms of the GNU General Public License version 2 only, as
|
|
.\" published by the Free Software Foundation.
|
|
.\"
|
|
.\" This code is distributed in the hope that it will be useful, but WITHOUT
|
|
.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
.\" version 2 for more details (a copy is included in the LICENSE file that
|
|
.\" accompanied this code).
|
|
.\"
|
|
.\" You should have received a copy of the GNU General Public License version
|
|
.\" 2 along with this work; if not, write to the Free Software Foundation,
|
|
.\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
.\"
|
|
.\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
.\" or visit www.oracle.com if you need additional information or have any
|
|
.\" questions.
|
|
.\"
|
|
.\" Automatically generated by Pandoc 2.3.1
|
|
.\"
|
|
.TH "RMIC" "1" "2020" "JDK 14" "JDK Commands"
|
|
.hy
|
|
.SH NAME
|
|
.PP
|
|
rmic \- generate stub and skeleton class files using the Java Remote
|
|
Method Protocol (JRMP)
|
|
.SH SYNOPSIS
|
|
.PP
|
|
\f[CB]rmic\f[R] [\f[I]options\f[R]]
|
|
\f[I]package\-qualified\-class\-names\f[R]
|
|
.TP
|
|
.B \f[I]options\f[R]
|
|
This represent the command\-line \f[CB]options\f[R] for the\f[CB]rmic\f[R]
|
|
compiler.
|
|
See \f[B]Options for the rmic Compiler\f[R].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[I]package\-qualified\-class\-names\f[R]
|
|
Class names that include their packages, for example,
|
|
\f[CB]java.awt.Color\f[R].
|
|
.RS
|
|
.RE
|
|
.SH DESCRIPTION
|
|
.PP
|
|
\f[B]Deprecation Note:\f[R] The rmic tool has been deprecated and is
|
|
subject to removal in a future release.
|
|
Support for static generation of Java Remote Method Protocol (JRMP)
|
|
stubs and skeletons has been deprecated.
|
|
Applications should use dynamically generated JRMP stubs, eliminating
|
|
the need to use the rmic tool for JRMP\-based applications.
|
|
.PP
|
|
The \f[CB]rmic\f[R] compiler generates stub and skeleton class files using
|
|
the JRMP.
|
|
.PP
|
|
\f[B]Note:\f[R]
|
|
.PP
|
|
The rmic compiler has been updated to remove the \f[CB]\-idl\f[R] and
|
|
\f[CB]\-iiop\f[R] options and can no longer generate IDL or IIOP stubs and
|
|
tie classes.
|
|
.PP
|
|
JRMP class files are generated from compiled Java programming language
|
|
classes that are remote object implementation classes.
|
|
A remote implementation class is a class that implements the interface
|
|
\f[CB]java.rmi.Remote\f[R].
|
|
The class names in the \f[CB]rmic\f[R] command must be for classes that
|
|
were compiled successfully with the \f[CB]javac\f[R] command and must be
|
|
fully package qualified.
|
|
For example, running the \f[CB]rmic\f[R] command on the class file name
|
|
\f[CB]HelloImpl\f[R] as shown here creates the
|
|
\f[CB]HelloImpl_Stub.class\f[R] file in the \f[CB]hello\f[R] subdirectory
|
|
(named for the class\[aq]s package):
|
|
.RS
|
|
.PP
|
|
\f[CB]rmic\ hello.HelloImpl\f[R]
|
|
.RE
|
|
.PP
|
|
A skeleton for a remote object is a JRMP protocol server\-side entity
|
|
that has a method that dispatches calls to the remote object
|
|
implementation.
|
|
.PP
|
|
A stub is a client\-side proxy for a remote object that\[aq]s
|
|
responsible for communicating method invocations on remote objects to
|
|
the server where the actual remote object implementation resides.
|
|
A client\[aq]s reference to a remote object, therefore, is actually a
|
|
reference to a local stub.
|
|
.PP
|
|
By default, the \f[CB]rmic\f[R] command generates stub classes that use
|
|
the 1.2 JRMP stub protocol version only, as though the \f[CB]\-v1.2\f[R]
|
|
option were specified.
|
|
See \f[B]Options for the rmic Compiler\f[R].
|
|
.PP
|
|
A stub implements only the remote interfaces, and not local interfaces
|
|
that the remote object also implements.
|
|
Because a JRMP stub implements the same set of remote interfaces as the
|
|
remote object, a client can use the Java programming language built\-in
|
|
operators for casting and type checking.
|
|
.PP
|
|
\f[B]Note:\f[R]
|
|
.PP
|
|
The rmic compiler does not support reading of class files that have been
|
|
compiled with the \f[CB]\-\-enable\-preview\f[R] option, nor does it
|
|
support generation of stub or skeleton classes that have preview
|
|
features enabled.
|
|
.SH OPTIONS FOR THE RMIC COMPILER
|
|
.TP
|
|
.B \f[CB]\-bootclasspath\f[R] \f[I]path\f[R]
|
|
Overrides the location of bootstrap class files.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-classpath\f[R] \f[I]path\f[R]
|
|
Specifies the path the \f[CB]rmic\f[R] command uses to look up classes.
|
|
This option overrides the default or the \f[CB]CLASSPATH\f[R] environment
|
|
variable when it is set.
|
|
Directories are separated by colons or semicolons, depending on your
|
|
operating system.
|
|
The following is the general format for \f[I]path\f[R]:
|
|
.RS
|
|
.IP \[bu] 2
|
|
\f[B]Oracle Solaris, Linux, and OS X:\f[R]
|
|
\f[CB]\&.:\f[R]\f[I]your_path\f[R], for example:
|
|
\f[CB]\&.:/usr/local/java/classes\f[R]
|
|
.IP \[bu] 2
|
|
\f[B]Windows:\f[R] \f[CB]\&.;\f[R]\f[I]your_path\f[R], for example:
|
|
\f[CB]\&.;/usr/local/java/classes\f[R]
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-d\f[R] \f[I]directory\f[R]
|
|
Specifies the root destination directory for the generated class
|
|
hierarchy.
|
|
You can use this option to specify a destination directory for the stub,
|
|
skeleton, and tie files.
|
|
.RS
|
|
.IP \[bu] 2
|
|
\f[B]Oracle Solaris, Linux, and OS X:\f[R] For example, the following
|
|
command places the stub and skeleton classes derived from
|
|
\f[CB]MyClass\f[R] into the directory \f[CB]/java/classes/exampleclass\f[R]:
|
|
.RS 2
|
|
.RS
|
|
.PP
|
|
\f[CB]rmic\ \-d\ /java/classes\ exampleclass.MyClass\f[R]
|
|
.RE
|
|
.RE
|
|
.IP \[bu] 2
|
|
\f[B]Windows:\f[R] For example, the following command places the stub and
|
|
skeleton classes derived from \f[CB]MyClass\f[R] into the directory
|
|
\f[CB]C:\\java\\classes\\exampleclass\f[R]:
|
|
.RS 2
|
|
.RS
|
|
.PP
|
|
\f[CB]rmic\ \-d\ C:\\java\\classes\ exampleclass.MyClass\f[R]
|
|
.RE
|
|
.RE
|
|
.PP
|
|
If the \f[CB]\-d\f[R] option isn\[aq]t specified, then the default
|
|
behavior is as though \f[CB]\-d\f[R] was specified.
|
|
The package hierarchy of the target class is created in the current
|
|
directory, and stub/tie/skeleton files are placed within it.
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-g\f[R]
|
|
Enables the generation of all debugging information, including local
|
|
variables.
|
|
By default, only line number information is generated.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-J\f[R]\f[I]argument\f[R]
|
|
Used with any Java command, the \f[CB]\-J\f[R] option passes the
|
|
\f[I]argument\f[R] that follows it (no spaces between the \f[CB]\-J\f[R]
|
|
and the argument) to the Java interpreter.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-keep\f[R] or \f[CB]\-keepgenerated\f[R]
|
|
Retains the generated \f[CB]\&.java\f[R] source files for the stub,
|
|
skeleton, and tie classes and writes them to the same directory as
|
|
the\f[CB]\&.class\f[R] files.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-nowarn\f[R]
|
|
Turns off warnings.
|
|
When the \f[CB]\-nowarn\f[R] options is used, the compiler doesn\[aq]t
|
|
print warnings.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-nowrite\f[R]
|
|
Doesn\[aq]t write compiled classes to the file system.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-vcompat\f[R] (deprecated)
|
|
Generates stub and skeleton classes that are compatible with both the
|
|
1.1 and 1.2 JRMP stub protocol versions.
|
|
This option was the default in releases before 5.0.
|
|
The generated stub classes use the 1.1 stub protocol version when loaded
|
|
in a JDK 1.1 virtual machine and use the 1.2 stub protocol version when
|
|
loaded into a 1.2 (or later) virtual machine.
|
|
The generated skeleton classes support both 1.1 and 1.2 stub protocol
|
|
versions.
|
|
The generated classes are relatively large to support both modes of
|
|
operation.
|
|
.RS
|
|
.PP
|
|
\f[B]Note:\f[R]
|
|
.PP
|
|
This option has been deprecated.
|
|
See \f[B]Description\f[R].
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-verbose\f[R]
|
|
Causes the compiler and linker to print messages about what classes are
|
|
being compiled and what class files are being loaded.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-v1.1\f[R] (deprecated)
|
|
Generates stub and skeleton classes for the 1.1 JRMP stub protocol
|
|
version only.
|
|
The \f[CB]\-v1.1\f[R] option is useful only for generating stub classes
|
|
that are serialization\-compatible with existing, statically deployed
|
|
stub classes generated by the \f[CB]rmic\f[R] command from JDK 1.1 that
|
|
can\[aq]t be upgraded (and dynamic class loading isn\[aq]t being used).
|
|
.RS
|
|
.PP
|
|
\f[B]Note:\f[R]
|
|
.PP
|
|
This option has been deprecated.
|
|
See \f[B]Description\f[R].
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-v1.2\f[R] (deprecated)
|
|
(Default) Generates stub classes for the 1.2 JRMP stub protocol version
|
|
only.
|
|
No skeleton classes are generated because skeleton classes aren\[aq]t
|
|
used with the 1.2 stub protocol version.
|
|
The generated stub classes don\[aq]t work when they\[aq]re loaded into a
|
|
JDK 1.1 virtual machine.
|
|
.RS
|
|
.PP
|
|
\f[B]Note:\f[R]
|
|
.PP
|
|
This option has been deprecated.
|
|
See \f[B]Description\f[R].
|
|
.RE
|
|
.SH ENVIRONMENT VARIABLES
|
|
.TP
|
|
.B \f[CB]CLASSPATH\f[R]
|
|
Used to provide the system a path to user\-defined classes.
|
|
.RS
|
|
.IP \[bu] 2
|
|
\f[B]Oracle Solaris, Linux, and OS X:\f[R] Directories are separated by
|
|
colons, for example: \f[CB]\&.:/usr/local/java/classes\f[R].
|
|
.IP \[bu] 2
|
|
\f[B]Windows:\f[R] Directories are separated by colons, for example:
|
|
\f[CB]\&.;C:\\usr\\local\\java\\classes\f[R].
|
|
.RE
|