Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
jikes(1)		    General Commands Manual		      jikes(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 gen-
       eration	and  incremental  compilation.	It  is maintained by the Jikes
       Project.

       At this time, jikes only	recognizes the full name of options; you  can-
       not  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. Duplicated options override the
       previous	one, unless otherwise listed. If an option is  listed  in  the
       form +T=n, it can also be specified as +T n or even +Tn.

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.  This defaults to	an empty path.

       -classpath path

       -cp path

       --classpath path
	      Use  path	 for  CLASSPATH.  This	path is	searched for both user
	      source and compiled class	files. This defaults  to  the  current
	      directory.

       -d directory

       --target-directory directory
	      Write class files	in the specified directory. Note that this di-
	      rectory  is  NOT	in  your classpath unless you list it there as
	      well. This defaults to the current directory.

       -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	avail-
	      able  in some builds, because it requires	a working iconv	or ICU
	      encoder.	Note that  binary  distributions  for  some  platforms
	      (such  as	 Windows)  do NOT include support for the encoding op-
	      tion, as there is	not an adequate	transcoding library  available
	      on all platforms by default. You can tell	if a binary has	encod-
	      ing  support  or not by running jikes --help and looking for the
	      --encoding option: if it is not listed, then  this  binary  does
	      NOT  include  support for	encoding. This defaults	to a platform-
	      dependent	encoding (such as ASCII).

       -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.
	      This defaults to an empty	path.

       -g     Equivalent to -gsource,lines,vars.

       -gnone|{source,lines,vars}
	      Specify which of three classfile debug  options  should  be  en-
	      abled.  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	 loca-
	      tion 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.	 This defaults to line and source information,
	      but not vars.

       -help

       --help

       -h

       -?     Prints a helpful summary of options, then	 exit.	Overrides  all
	      other options, and nothing is compiled.

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

       -nowarn

       --nowarn

       -q     Do not issue warning messages. For greater control over warnings
	      and cautions, see	the +Z option.

       -nowrite

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

       -O

       --optimize
	      Optimize the bytecode. Technically, this means jikes should  in-
	      line  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  ex-
	      ample,  to  treat	the assert keyword as a	normal identifier, you
	      can use -source 1.3. Setting a lower target results in  backward
	      compatibility  compilation  of old source	files.	Valid releases
	      are 1.3 (Java Language Specification, 2nd	edition), and 1.4 (ad-
	      dition of	the assert statement, JSR 41).	Plans are underway  to
	      eventually  support  1.5 (addition of generics: JSR 14; autobox-
	      ing, enhanced for-loop, static import, enums, and	 varargs:  JSR
	      201; metadata: JSR 175; and updated .class file format: JSR 202;
	      ultimately the Java Language Specification, 3rd edition).	If not
	      specified,  this	defaults to the	valid value closest to the one
	      specified	or defaulted for -target (typically 1.4).

       -sourcepath path

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

       -target release

       --target	release
	      Specify which Java SDK release the bytecode should target.   For
	      example,	exception  chaining was	introduced in the 1.4 release,
	      so a failed class	literal	can chain the NoClassDefFoundError  to
	      its  original  ClassNotFoundException; while the behavior	in the
	      1.3 release simply discards the original exception.  To get  the
	      old  behavior,  you can use -target 1.3.	Setting	a lower	target
	      results in forward compatibility to older	virtual	machines,  and
	      some  source  constructs	will  be  compiled  to	less efficient
	      workarounds in order to avoid known virtual machine bugs or  de-
	      ficiencies.   However,  a	lower target may occaisionally produce
	      incorrect	semantic behavior.  Furthermore,  some	language  fea-
	      tures  require virtual machine support, where there are no known
	      workarounds in earlier releases: the assert  statement  requires
	      1.4 (unless you also use -noassert), and the planned addition of
	      typesafe	enumerations will require 1.5. The planned addition of
	      type parameterization (also known	as generics)  will  work  with
	      1.1.   Valid  releases  are 1.1, 1.2, 1.3, 1.4, and 1.4.2; plans
	      are underway to support 1.5.  If not specified, this defaults to
	      the value	specified for -source, and if that is  not  specified,
	      this defaults to 1.4.2.

       -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.
	      Overrides	all other options except --help, and nothing  is  com-
	      piled.

       -Werror
	      Equivalent to +Z2, provided for javac compatibility.

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

       -Xswitchcheck
	      Synonym to +Pswitchcheck.	Warns about fallthrough	switch cases.

       ++

       --incremental
	      Compile in incremental mode.  In this mode,  jikes  stays	 resi-
	      dent,  and  every	keypress of Enter will trigger a recompilation
	      of every source file rendered out-of-date	by file	 modifications
	      since  the  last	compilation  phase.  To	exit this mode,	type q
	      then Enter.

       +a

       --noassert
	      Do not emit assert statements.  This option is  not  recommended
	      for disabling asserts, because asserts are compiled to have min-
	      imal   overhead  when  disabled  through	the  virtual  machine.
	      Rather, it is intended for reducing classfile size, and to allow
	      the use of -target 1.3 or	earlier	virtual	machine	 targets  that
	      do not support the assert	statement.

       +B

       --nobytecode
	      Do not invoke bytecode generator.	Perform	semantic checks	only.

       +D

       --dump-errors
	      Report errors immediately	in emacs-form without buffering.

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

       +E

       --emacs
	      List errors in emacs-form.

       +F

       --full-dependence
	      Do full dependence check except for Zip and Jar files.

       +Kname=TypeKeyWord
	      Map  name	to type	keyword. Multiple options are needed to	change
	      more than	one type keyword.

       +M

       --makefile
	      Generate makefile	dependencies.

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

       +P[group-name]
	      Pedantic	compilation  - issues lots of warnings.	 With no group
	      name, this turns on a default set	 of  pedantic  warnings	 which
	      does  not	 correspond  to	 any  of the named groups of warnings.
	      Specifying a group name turns on or off  that  particular	 named
	      group  of	warnings, depending on the presence of the no- prefix.
	      Some named groups	are enabled by default.	These  are  marked  as
	      such  in the output of jikes --help.  At present,	the recognized
	      group names are effective-java, which warns about	the  anti-pat-
	      terns  mentioned	in Joshua Bloch's book "Effective Java"; modi-
	      fier-order, which	warns about the	recommended ordering of	multi-
	      ple modifiers; redundant-modifiers, which	warns about explicitly
	      mentioning an implied modifier; serial, which warns about	 seri-
	      alizable	classes	without	serialVersionUID fields; shadow, which
	      warns about shadowing and	hiding of fields;  switchcheck,	 which
	      warns about fallthrough between cases of switch statements; nam-
	      ing-convention, which warns about	names that violate Java	naming
	      conventions;  unused-type-imports, which warns about unused sin-
	      gle-type import statements;  and	unused-package-imports,	 which
	      warns  about unused package import statements.  In addition, the
	      pseudo-group all stands for all named groups  of	warnings,  but
	      not  the	anonymous group	controlled by +P.  Multiple +P options
	      are cumulative in	effect.	For example, to	get all	pedantic warn-
	      ings except modifier ordering, use +P +Pall +Pno-modifier-order.
	      To get just warnings about redundant  modifiers,	without	 other
	      pedantic warnings, use +Predundant-modifiers.

       --pedantic
	      Synonym for +P, but does not accept flags.

       +T=n

       --tab=n
	      Set  value  of tab to n spaces. If not specified,	the default is
	      8.

       +U

       --unzip-dependence
	      Do full dependence check including Zip and Jar files.

       +Z0    Do not issue warning messages.

       +Z1    Treat cautions as	errors.

       +Z2    Treat both warnings and cautions as errors.

       +Z

       --zero-cautions
	      Equivalent to +Z1	for compatibility  with	 earlier  versions  of
	      Jikes.

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

FILES
       Jikes  has  several options related to classpath	searching.  The	-boot-
       classpath, -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 vari-
       able 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 the
       platform	 path  format	(usually   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  (C)  1996-2003,  2004	IBM 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 com-
       ments in	src/double.h, src/platform.h, and src/unzip.h.

NOTES
       Java is a registered trademark of Sun Microsystems, Inc.

								      jikes(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=jikes&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help