Manpage of jikes

# jikes manual

Section: User Commands (1)

## NAME

jikes - java source to bytecode compiler

## SYNOPSIS

jikes [-options] [+options] [@files] file.java...

Options, @files, and filenames may be intermixed. Individual options should not be repeated, unless noted below.

## DESCRIPTION

Jikes translates Java(TM) source files to bytecode. Features include strict adherence to the language specification, automatic makefile generation and incremental compilation. It is maintained by the Jikes Project.

At this time, jikes only recognizes the full name of options; you cannot abbreviate or group them. You can give different argument types in any order. Options are global, so they affect compilation of files listed earlier on the command line.

## OPTIONS

Jikes may be invoked with the following command-line options:

-bootclasspath path
--bootclasspath path
  Use path for the bootclasspath. This path is searched first for library class files, and is usually set to java/lib/classes.zip or java/jre/lib/rt.jar.

-classpath path
-cp path
--classpath path
  Use path for CLASSPATH. This path is searched for both user source and compiled class files.

-d directory
--target-directory directory
  Write class files in the specified directory. Note that this directory is NOT in your classpath unless you list it there as well.

-debug
  No effect (recognized for compatibility).

-depend
--depend
-Xdepend
  Recompile all used classes.

-deprecation
--deprecation
  Report uses of deprecated features.

-encoding encoding
--encoding encoding
  Use specified encoding to read source files. This is not available in some builds, because it requires a working iconv or ICU encoder. Note: in particular that the Windows binary provided for download does NOT include support for the encoding option as there is not a transcoding library on windows by default. You can tell if a binary has encoding support or not, but running jikes --help and looking for the --encoding option: if it is not listed, then this binary does NOT include support for encoding.

-extdirs path
--extdirs path
  Use path for extensions directories. This is typically set to grab jar and zip extension files located in java/jre/lib/ext.

-g
  Equivalent to -g:source,lines,vars.

-g:none|{source,lines,vars}
  Specify which of three classfile debug options should be enabled. If this is not specified, the default is source,lines. source stores the filename of the source file in the class file, lines adds line number tracking to tie bytecodes to their location in the source file, and vars adds a table in the class file which stores the name of local variables and parameters, as well as their scope.

-help
--help
-h
-?
  Prints a helpful summary of options, then exit.

-J...
  No effect, since jikes is native code, and does not need a Virtual Machine (ignored for compatibility).

-nowarn
--nowarn
-q
  Do not issue warning messages.

-nowrite
--nowrite
  Do not write any class files, but list which ones would be written if used with -verbose.

-O
--optimize
  Optimize the bytecode. Technically, this means jikes should inline private and final methods where appropriate, but currently it does nothing.

-source release
--source release
  Specify which Java SDK release the source syntax obeys. For example, to compile code with the assert keyword, you would specify -source 1.4. Recognized releases are 1.1 through 1.4. If unspecified, this defaults to 1.3.

-sourcepath path
--sourcepath path
  Use path for specifying user "source only" directories. Class files in this path are ignored unless listed in other paths.

-target release
--target release
  Specify which Java SDK release the bytecode should target. For example, in Java 1.4, exception chaining was introduced, so a failed class literal can chain the NoClassDefFoundError to its original ClassNotFoundException, rather than the old behavior in Java 1.3 where the original exception is just discarded. You would get the new behavior by specifying -target 1.4. Recognized releases are 1.1 through 1.4. If unspecified, this defaults to whatever -source level is in force.

-verbose
--verbose
-v
  List files read and written. Also useful with -nowrite for a dry run to track dependencies.

-version
--version
-V
  Print a version message, and contact information, then exit.

-Xstdout
  Write error messages to standard output, not stderr. At the moment, this is incompatible with javac, which takes an argument as the name of the file where it will direct compiler message output.

++
  Compile in incremental mode.

+B
  Do not invoke bytecode generator.

+D
  Report errors immediately in emacs-form without buffering.

+DR=filename
  Write report of dependencies to specified file.

+E
  List errors in emacs-form.

+F
  Do full dependence check except for Zip and Jar files.

+Kname=TypeKeyWord
  Map name to type keyword.

+M
  Generate makefile dependencies.

+OLDCSO
  Select to use same classpath search order as in older versions of Jikes (for compatibility).

+P[flags]
  Pedantic compilation - issues lots of warnings. This option may be listed multiple times, with cumulative effect. With no flags, this turns on the default set of pedantic warnings. Specifying a flag will then turn on or off a particular warning, depending on the presence of the no- prefix. At present, the only recognized flag is modifier-order, which warns about the recommended ordering of multiple modifiers, and is turned on by default in pedantic compilation mode. Thus, to get all pedantic warnings except this, use +P +Pno-modifier-order.

+Tnn
  Set value of tab to nn spaces.

+U
  Do full dependence check including Zip and Jar files.

+Z
  Treat cautions as errors. Unfortunately, at the moment, this will not promote warnings, just cautions.

An argument may have the form @file, which names a file holding additional command-line arguments. Each line in that file is treated as an argument, except that lines beginning with @ are not expanded recursively. Lines may optionally be quoted using either single or double quotes. There are no escape characters ('\' is not treated as special).

## FILES

Jikes has several options related to classpath searching. The -bootclasspath, -extdirs, and -sourcepath options are the same as in javac. In addition to being specified on the command line, the environment variables BOOTCLASSPATH, EXTDIRS, and SOURCEPATH may also be used to specify values for these options, respectively. Jikes also has the -classpath option as in javac, with the corresponding environment variable CLASSPATH. The classpath may also be specified in the environment variable JIKESPATH, although this use is discouraged. If JIKESPATH and CLASSPATH coexist, preference will be given to JIKESPATH. A value specified on the command line will be always be given preference over the value of any environment variable. All the directories and files specified in these options or environment variables must be in a colon-separated list, e.g., ".:$HOME/java/jre/lib/rt.jar".

## SEE ALSO

Jikes Project homepage http://ibm.com/developerworks/opensource/jikes/ for news of recent developments, to download new versions, to report bugs, or to learn how to participate in the development process.

## COPYRIGHT

Copyright © 1996, 1997, 1998, 1999, 2000, 2001, 2002 International Business Machines Corporation and others. All Rights Reserved.

Jikes is licensed under the IBM Public License, included in the file license.htm distributed with the program, and also available at the Jikes Project URL. Portions of Jikes are derived from prior, freely distributable projects. For more details on this code, see the comments in src/double.h, src/platform.h, and src/unzip.h.

## NOTES

Java is a registered trademark of Sun Microsystems, Inc.

## Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
FILES
SEE ALSO
COPYRIGHT
NOTES

This document was created by man2html, using the standard unix manual pages, then hacked on by cabbey to make the output standalone for windows users.