java2html(1) generates highlighted html-files from Java or C++ source


java2html [options] [filename...]


This manual page documents how to use java2html. If no arguments are given on the command line of java2html, it reads from stdin and writes to stdout.

If invoked with filenames as arguments java2html will write it's output into new files. Names of output files are generated by appending ".html" to the corresponding input filename.

Installing as a CGI program

java2html can be installed as a CGI program and convert source files on the fly. In order to set this up for apache the webmaster has to add the two lines

 AddType text/x-java .java
 Action text/x-java /cgi-bin/java2html

to the webserver configuration file. java2html depends on the webserver properly setting environment variable PATH_TRANSLATED to the pathname of the source file. If java2html has been compiled with option -DCOMPRESSION=1 then it will invoke gzip to compress the generated HTML before sending it to the requesting browser. Of course java2html takes care to check if the browser accepts gzip encoding.


Interpret all following arguments on the command line as filenames. This is useful, if you want to convert files beginning with a '-'.
-b filename
Insert the file 'filename' after converted data and before HTML footer. See also the -s option.
Turns off CGI-script detection and HTTP header generation. This is needed to use java2html as a subcommand in another CGI script.
-h filename
Insert the file 'filename' after the HTML headers and before the converted data. See also the -s option.
Generate an index only. This will generate a list of references (HREF's) to the labels that java2html creates for your source file. The references are created as list items (<li>) in an HTML list. Each line has the form
<li><a href="#name">prototype()</a></li>
so they can be used directly as an index list, or further parsed by another script.
If you want the index at the top of the source file, you will need a wrapper script like this one:

  #! /bin/sh

  echo "Content-type: text/html"

  echo ""

  echo "<html>"

  echo "<head><title>$PATH_TRANSLATED</title>"

  echo "<meta name=\"generator\""

  echo "content=\"`java2html -V`\">"

  echo "</head>"

  echo "<body>"

  echo "<h1>Source of $PATH_TRANSLATED</h1>"

  echo "<ul>Structures and functions"

  cat $PATH_TRANSLATED | java2html -isc

  echo "</ul>"

  echo "<hr></hr>"

  cat $PATH_TRANSLATED | java2html -sc

  echo "</body></html>"

Number lines and label them with 'line' followed by the line number. Empty lines get no label, but the linecounter will count them nevertheless. With this feature you can refer to special lines of code from other parts of the generated file or from external files with a line like this:

<A HREF="">Go to line 301</A>

With this option you can suppress the generation of HTML headers. This is especially useful together with options -b file and -h file.
-t title
Set the title to 'title'. The default is the filename you converted or "stdin" if reading from stdin. This option is only used if -s is not set.
Print usage information.
-w width
sets the WIDTH attribute for HTML tag <PRE>. If this option is not used a default of 80 is assumed. (Currently most browsers are ignoring this attribute).
reports the version number of java2html.


java2html returns 0 on success, 1 if input files are not existing/readable, 2 if output files are not creatable/writable, 3 if invoked with illegal options and 4 if gzip cannot be invoked.


Florian Schintke <[email protected]>
Martin Kammerhofer <[email protected]> wrote the CGI feature.
Rob Ewan <[email protected]> wrote the indexing feature.