EnglishFrenchSpanish

Ad


OnWorks favicon

japize - Online in the Cloud

Run japize in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command japize that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


japize - Produce a listing of an API in a machine-readable format.

SYNOPSIS


japize [unzip] [as <name>] apis <zipfile>|<dir> ... +|-<pkgpath> ...

DESCRIPTION


japize is part of japitools, designed to test for compatibility between Java APIs.

They were originally designed for testing free implementations of Java itself for
compatibility with Sun's JDK, but they can also be used for testing backward compatibility
between versions of any API.

The tools are japize and japicompat. Japize is a Java program which emits a listing of an
API in a machine-readable format. Japicompat then takes two such listings and compares
them for binary compatibility, as defined by Sun in the Java Language Specification.

At least one +<pkgpath> is required. <name> will have ".japi" and/or ".gz" appended as
appropriate.

The word "apis" can be replaced by "explicitly", "byname", "packages" or "classes". These
options indicate whether something of the form "a.b.C" should be treated as a class or a
package. You may specify this unambiguously by using one of the forms "a.b.cpackage," or
"a.b,CClass".

OPTIONS


unzip disable zipping of the output with gzip. Zipping the output is highly recommended
since it saves huge amounts of space. The only situations where you might not want
to use gzip compression are when memory and CPU usage are extremely tight or if
your JVM does not implement GZIPOutputStream correctly (in which case you might
still want to gzip the resulting file manually).

as <name>
Specifying this option tells japize to write its output to a file with the
specified name. When writing to a file with the "as" option, japize insists on
writing to a file name ending in .japi.gz for compressed files, or .japi for
uncompressed files. If the filename you specify doesn't have the right extension,
japize will add parts to it to ensure that it does.

If the "as" option is omitted, japize will write to standard output. In this case
japize has no control over the filename you use, but it is strongly recommended to
use a filename with the correct extension (".japi.gz" unless the "unzip" option was
specified). If you use any other extension, japicompat and other tools may be
unable to recognize the format.

apis | explicitly | byname | packages | classes
This option has a dual role: it indicates the boundary between japize options
(unzip, as) and other arguments (files and packages), but also tells japize how to
deal with ambiguously specified arguments. See "+|-<pkgpath>" below for details on
the behavior of each option. If you are unsure which to specify, "apis" is a safe
choice.

apis
a.b.c is tried both as a package and a class. This will always do what you want
(which is why apis is described as the safe default) but at the expense of possibly
doing extra unnecessary processing trying to find the wrong thing.

explicitly
pkgpaths of the form a.b.c are illegal - you must use the explicit form.

byname
a.b.c will be processed as a package if "c" starts with a lowercase letter, or as a
class if it starts with an uppercase one. This usually does what you want but fails
on things like org.omg.CORBA.

packages
a.b.c will be processed as a package. If processing for a class is needed, it must
be specified explicitly.

classes
a.b.c will be processed as a class. If processing for a package is needed, it must
be specified explicitly.

<zipfile> | <dir>
Any arguments after "apis" that do not start with "+" or "-" are taken to be
zipfiles or directories. These should be specified exactly as you would put them in
your CLASSPATH (except separated by spaces rather than colons). Anything that's a
file will be assumed to be a zip (or jar) file, so you can't specify a .class file
directly - if you need to do that you should specify the folder containing it and
then name the class for processing.

+|-<pkgpath>
To specify which classes are included, use +pkgpath to add pkgpaths to be scanned
and -pkgpath to exclude sub-pkgpaths of these. You MUST specify at least one
+pkgpath option to specify which pkgpath to include, otherwise Japize could happily
scan through all the zipfiles and directories but not actually process any of the
classes. Since that would be a useless thing to do, japize gives an error instead.

A "pkgpath" refers to either a package (which includes, by implication, all sub-
packages of it) or a single class. A pkgpath for a package looks like
"com.foo.pkg.sub," and a pkgpath for a class looks like "com.foo.pkg,Cls". The
existence and placement of the comma indicates unambiguously which type of path is
intended.

Most of the time, though, it's a pain to have to put in commas in names that are
familiar with dots instead, and get the comma placement exactly right. For this
reason, japize accepts pkgpaths containing only dots, and lets you tell it what to
make of those names. The interpretation of "a.b.c" as a pkgpath depends on whether
you specified apis, explicitly, byname, packages, or classes.

EXAMPLE


Sun's JDK 1.1 includes classes in java.awt.peer and in java.text.resources that are not
part of the public API, even though they are public classes; however, every other class in
the java.* package hierarchy is part of the public API. The syntax to construct a useful
jdk11.japi.gz would therefore be:

$ japize as jdk11 apis classes.zip +java -java.awt.peer -java.text.resources

Note that since all pkgpath arguments here are packages, you could save a small amount of
processing by doing this instead:

$ japize as jdk11 packages classes.zip +java -java.awt.peer -java.text.resources

or even this:

$ japize as jdk11 explicitly classes.zip +java, -java.awt.peer, -java.text.resources,

Use japize online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    VASSAL Engine
    VASSAL Engine
    VASSAL is a game engine for creating
    electronic versions of traditional board
    and card games. It provides support for
    game piece rendering and interaction,
    and...
    Download VASSAL Engine
  • 2
    OpenPDF - Fork of iText
    OpenPDF - Fork of iText
    OpenPDF is a Java library for creating
    and editing PDF files with a LGPL and
    MPL open source license. OpenPDF is the
    LGPL/MPL open source successor of iText,
    a...
    Download OpenPDF - Fork of iText
  • 3
    SAGA GIS
    SAGA GIS
    SAGA - System for Automated
    Geoscientific Analyses - is a Geographic
    Information System (GIS) software with
    immense capabilities for geodata
    processing and ana...
    Download SAGA GIS
  • 4
    Toolbox for Java/JTOpen
    Toolbox for Java/JTOpen
    The IBM Toolbox for Java / JTOpen is a
    library of Java classes supporting the
    client/server and internet programming
    models to a system running OS/400,
    i5/OS, o...
    Download Toolbox for Java/JTOpen
  • 5
    D3.js
    D3.js
    D3.js (or D3 for Data-Driven Documents)
    is a JavaScript library that allows you
    to produce dynamic, interactive data
    visualizations in web browsers. With D3
    you...
    Download D3.js
  • 6
    Shadowsocks
    Shadowsocks
    A fast tunnel proxy that helps you
    bypass firewalls This is an application
    that can also be fetched from
    https://sourceforge.net/projects/shadowsocksgui/.
    It ha...
    Download Shadowsocks
  • More »

Linux commands

Ad