Java Glossary : Jikes

CMP home Java glossary home Menu no menu Last updated 2004-06-28 by Roedy Green ©1996-2004 Canadian Mind Products

Java definitions: 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

You are here : home : Java Glossary : J words : Jikes.

Jikes
Jikes 1.20 a Java compiler open source product now maintained by volunteers that produces standard byte codes. It supports Java 1.4 (with some support for Java 1.5 for the adventurous willing to compile the Jikes compiler itself).

It is astoundingly fast -- hundreds of thousands of lines of code per minute (about ten times faster than other compilers), and it generates better quality code than the Sun compiler, and it generates better error messages. It is written in C++ which means it is not quite as portable as if it had been written in Java, but it is available for Window/Linux/AIX/OS2 etc. You can download it free. There is also a Jikes debugging package written in pure Java which runs anywhere, written by a different team. The easiest way to use Jikes on Win9x/NT is to download smartJC which converts Jikes into a semi-permanently resident DLL for even more speed. Jikes error messages are superb. They give you much better clues what the real problem is. You might not even need my list of error message translations. If Jikes dies with a addressing error, just delete all the class files and recompile. This seems to clear it. That was a problem with the previous version. I have not had enough experience with the new version to know if they have nailed it yet.

IBM provides no install instructions embedded in the download. Ignore any Jikes.1 file. It is a Unix MAN file. Just download the ZIP file, and extract jikes.exe to a directory on your path. Unlike javac.exe, jikes.exe wants rt.jar standard classes the classpath. This is explained in the FAQ. For Windows use you need the environment variables like this:

SET JIKESPATH=.;C:\;C:\Program Files\Java\j2re1.4.2_04\lib\rt.jar;
SET EXTDIRS=J:\j2sdk1.4.2_04\jre\lib\ext

Note the lack of quotes around the blank-containing file name. You don't need the whole JDK, just the JRE to use Jikes.

Here are the full command line options. Here are the the crucial command line options if you have not the patience to capture them yourself.

Jikes Command Line Switches
Option Effect
jikes.exe [-classpath path] [-d dir] [-debug] [-depend|-Xdepend] [-deprecation] [-g] [-nowarn] [-nowrite] [-O] [-verbose] [-Xstdout] [++] [+B] [+c] [+OLDCSO] [+D] [+DR=filename] [+E] [+F] [+Kname=TypeKeyWord] [+M] [+P] [+Td...d] [+U] [+Z] file.java...
-classpath path use path for CLASSPATH. No quotes allowed, not even for filenames containing spaces!
-d dir write class files in directory dir
-debug no effect (recognized for compatibility)
-depend | -Xdepend recompile all used classes
-deprecation report uses of deprecated features
-extdirs dir add the J:\j2sdk1.4.2_04\jre\lib\ext jars to the classpath. This does not happen automatically.
-g debug (generate LocalVariableTable)
-nowarn do not issue warning messages
-nowrite do not write any class files
-O do not write LineNumberTable
-verbose list bats read and written
-Xstdout redirect output listings to stdout
++ compile in incremental mode
+B do not invoke bytecode generator
+c do not discard comments from lexer output
+OLDCSO perform original Jikes classpath order for compatibility
+D report errors immediately in emacs-form without buffering
+DR=filename generate dependence report in filename
+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
+P pedantic compilation - issues lots of warnings
+Td...d set value of tab d...d spaces; each d is a decimal digit
+U do full dependence check including Zip and Jar files
+Z treat cautions as errors


CMP logo
CMP_home
home
Canadian Mind Products CSS
HTML Checked!
ICRA ratings logo
mindprod.com IP:[24.87.56.253]
Your IP:[80.134.30.163]
You are visitor number 2459.
Please send errors, omissions and suggestions
to improve this page to Roedy Green.
You can get a fresh copy of this page from: or possibly from your local J: drive mirror:
http://mindprod.com/jgloss/jikes.html J:\mindprod\jgloss\jikes.html