utilities

Class ToolboxJarMaker

  • Direct Known Subclasses:
    AS400ToolboxJarMaker

    Deprecated. 
    Use the Java 9 module tools instead.

    public class ToolboxJarMaker
    extends JarMaker
    Generates a smaller JAR or ZIP file from a shipped IBM Toolbox for Java JAR or ZIP file, based on the user's requirements.

    In addition, ToolboxJarMaker can also be used to:

    • extract desired files from a JAR or ZIP file; or
    • split a JAR or ZIP file into smaller JAR or ZIP files.

    An ToolboxJarMaker object can be included in the user's program, or ToolboxJarMaker can be run as a command line program, as follows:

    java utilities.ToolboxJarMaker [ options ]
    
    ToolboxJarMaker extends the functionality of JarMaker by additionally allowing the user to specify one or more IBM Toolbox for Java components, languages, and/or CCSIDs, and whether or not to include Java Beans files that are associated with the specified components.

    Options

    -source sourceJarFile
    Specifies the source JAR or ZIP file from which to derive the destination JAR or ZIP file. The source file is expected to contain the IBM Toolbox for Java product, and is typically named jt400.jar. To process a JAR or ZIP other than the Toolbox, use JarMaker. If a relative path is specified, the path is assumed to be relative to the current directory. If this option is specified as the first positional argument, the tag (-source) is optional. The -source option may be abbreviated to -s. The default is jt400.jar, in the current directory.
    -destination destinationJarFile
    Specifies the destination JAR or ZIP file, which will contain the desired subset of the files in the source JAR or ZIP file. If a pathname is not specified, the file is created in the current directory. The -destination option may be abbreviated to -d. The default name is generated by appending "Small" to the source file name. For example, if the source file is jt400.jar, then the default destination file would be jt400Small.jar.
    -fileRequired jarEntry1[,jarEntry2[...] ]
    The files in the source JAR or ZIP file that are to be copied to the destination. Entries are separated by commas (no spaces). The specified files, along with all of their dependencies, will be considered required. Files are specified in JAR entry name syntax, such as com/ibm/as400/access/DataQueue.class. The -fileRequired option may be abbreviated to -fr.
    -fileExcluded jarEntry1[,jarEntry2[...] ]
    The files in the source JAR or ZIP file that are to be excluded from the destination, and from dependency analysis. Entries are separated by commas (no spaces). Files are specified in JAR entry name syntax, such as com/ibm/as400/access/DataQueue.class. The -fileExcluded option may be abbreviated to -fx.
    -additionalFile file1[,file2[...] ]
    Specifies additional files (not included in the source jar) which are to be copied to the destination. Entries are separated by commas (no spaces). Files are specified by either their absolute path, or their path relative to the current directory.
    The specified files will be included, regardless of the settings of other options. The -additionalFile option may be abbreviated to -af.
    -additionalFilesDirectory baseDirectory
    Specifies the base directory for additional files. This should be the parent directory of the directory where the package path starts. For example, if file foo.class in package com.ibm.mypackage is located in directory C:\dir1\subdir2\com\ibm\mypackage\, then specify base directory C:\dir1\subdir2.
    The -additionalFilesDirectory option may be abbreviated to -afd. The default is the current directory.
    -package package1[,package2[...] ]
    The packages that are required. Entries are separated by commas (no spaces). The -package option may be abbreviated to -p. Package names are specified in standard syntax, such as com.ibm.component.
    Note: The specified packages are simply included in the output. No additional dependency analysis is done on the files in a package, unless they are explicitly specified as required files.
    -packageExcluded package1[,package2[...] ]
    The packages that are to be excluded. Entries are separated by commas (no spaces). The -packageExcluded option may be abbreviated to -px. Package names are specified in standard syntax, such as com.ibm.component.
    -extract [baseDirectory]
    Extracts the desired entries of the source JAR into the specified base directory, without generating a new JAR or ZIP file. This option enables the user to build up a customized JAR or ZIP file empirically, based on the requirements of their particular application. When this option is specified, -additionalFile, -additionalFilesDirectory, and -destination are ignored. The -extract option may be abbreviated to -x. By default, no extraction is done. The default base directory is the current directory.
    -split [splitSize]
    Splits the source JAR or ZIP file into smaller JAR or ZIP files. No ZIP entries are added or removed; the entries in the source JAR or ZIP file are simply distributed among the destination JAR or ZIP files. The split size is in units of kilobytes (1024 bytes), and specifies the maximum size for the destination files. The destination files are created in the current directory, and are named by appending integers to the source file name; any existing files by the same name are overwritten. For example, if the source JAR file is myfile.jar, then the destination JAR files would be myfile0.jar, myfile1.jar, and so on. When this option is specified, all other options except -source and -verbose are ignored. The -split option may be abbreviated to -sp. The default split size is 2 megabytes (2048 kilobytes).
    -component componentID1[,componentID2[...] ]
    The IBM Toolbox for Java components that are required. Entries are separated by commas (no spaces), and are case insensitive. The -component option may be abbreviated to -c.
    See the list of components that are supported by IBM Toolbox for Java.
    -beans
    Causes inclusion of all Java Beans files (classes, gifs) that are directly associated with the specified components. This option is valid only if -component is also specified. The -beans option may be abbreviated to -b. The default is no Beans.
    -language language1[,language2[...]]
    Specifies the desired languages for the messages produced by the Toolbox classes. Entries are separated by commas (no spaces). The languages are identified by their Java locale name, such as fr_CA (for Canadian French).
    Note: The shipped jt400.jar file contains only English messages. The -language option may be abbreviated to -l. By default, only English messages are included.
    -languageDirectory baseDirectory
    Specifies the base directory for additional Toolbox language files. The path below this directory should correspond to the package name the language files. For example, if the desired MRI files are located in directories /usr/myDir/com/ibm/as400/access/ and /usr/myDir/com/ibm/as400/vaccess/, then the base directory should be set to /usr/myDir.
    The -languageDirectory option may be abbreviated to -ld. By default, language files are searched for relative to the current directory.
    -ccsid ccsid1[,ccsid2[...]]
    Specifies the CCSIDs whose conversion tables should be included. Conversion tables for other CCSIDs will not be included. Entries are separated by commas (no spaces). The -ccsid option may be abbreviated to -cc. By default, all CCSIDs are included. See the list of CCSIDs and encodings that are specifically supported by IBM Toolbox for Java.
    -ccsidExcluded ccsid1[,ccsid2[...]]
    Specifies the CCSIDs whose conversion tables should not be included. Entries are separated by commas (no spaces). If a CCSID is specified on both the -ccsid and -ccsidExcluded, it is included, and a warning message is sent to System.err. The -ccsidExcluded option may be abbreviated to -cx or -ccx. By default, all CCSIDs are included. See the list of CCSIDs and encodings that are specifically supported by IBM Toolbox for Java.
    -excludeSomeDependencies
    Indicates that ToolboxJarMaker is allowed to selectively limit dependency expansion, and exclude certain classes, components and packages that are unlikely to be needed. By default, this option is not in effect; that is, all directly- and indirectly-referenced files in the source JAR file are included.
    -noProxy
    Specifies that proxy-related class files should not be included. Proxy files are used internally by the Toolbox's Proxy Service. If the Proxy Service will not be used, the proxy files are not needed. The -noProxy option may be abbreviated to -np. By default, proxy files in the source JAR file are included.
    -verbose
    Causes progress messages to be displayed. The -verbose option may be abbreviated to -v. The default is non-verbose.
    -help
    Displays the help text. The -help option may be abbreviated to -h. The default is non-verbose.

    At least one of the following options must be specified:

    • -fileRequired
    • -fileExcluded
    • -additionalFile
    • -package
    • -packageExcluded
    • -extract
    • -split
    • -component
    • -language
    • -ccsid
    • -ccsidExcluded
    • -noProxy
    • -excludeSomeDependencies

    If the following options are specified multiple times in a single command string, only the final specification applies:

    • -source
    • -destination
    • -additionalFilesDirectory
    • -extract
    • -split
    • -languageDirectory
    Other options have a cumulative effect when specified multiple times in a single command string.

    Example usage

    To create a JAR file that contains only those files needed by the CommandCall and ProgramCall components, do the following:

    1. Go to the directory where the jt400.jar file is located.
    2. Type:
      java utilities.ToolboxJarMaker -component CommandCall,ProgramCall
      
    3. Save a copy of the original jt400.jar for future reference.
    4. Rename jt400Small.jar to jt400.jar.

    To extract from jt400.jar only those files needed by class com.ibm.as400.access.JDSQLStatement, using the current directory as the base directory for output, do the following:

    java utilities.ToolboxJarMaker -extract -s jt400.jar
         -fr com/ibm/as400/access/JDSQLStatement.class
    
    Any additional files could then be manually copied into appropriate locations in the directory tree, and a customized JAR file could be generated using the jar tool provided as part of the JDK.
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static java.lang.Integer AS400
      Deprecated. 
      Specifies the AS400 component.
      static java.lang.Integer AS400_VISUAL
      Deprecated. 
      Specifies the Visual AS400 component.
      static java.lang.Integer COMMAND_CALL
      Deprecated. 
      Specifies the Command Call component.
      static java.lang.Integer COMMAND_CALL_VISUAL
      Deprecated. 
      Specifies the Visual Command Call component.
      static java.lang.Integer CONNECTION_POOL
      Deprecated. 
      Specifies the Connection Pool component.
      static java.lang.Integer DATA_AREA
      Deprecated. 
      Specifies the Data Area component.
      static java.lang.Integer DATA_DESCRIPTION
      Deprecated. 
      Specifies the Data Description component.
      static java.lang.Integer DATA_QUEUE
      Deprecated. 
      Specifies the Data Queue component.
      static java.lang.Integer DATA_QUEUE_VISUAL
      Deprecated. 
      Specifies the Visual Data Queue component.
      static java.lang.Integer DIGITAL_CERTIFICATE
      Deprecated. 
      Specifies the Digital Certificate component.
      static java.lang.Integer FTP
      Deprecated. 
      Specifies the FTP component.
      static java.lang.Integer INTEGRATED_FILE_SYSTEM
      Deprecated. 
      Specifies the Integrated File System component.
      static java.lang.Integer INTEGRATED_FILE_SYSTEM_VISUAL
      Deprecated. 
      Specifies the Visual Integrated File System component.
      static java.lang.Integer JAAS
      Deprecated. 
      Specifies the JAAS component.
      static java.lang.Integer JAVA_APPLICATION_CALL
      Deprecated. 
      Specifies the Java Application Call component.
      static java.lang.Integer JAVA_APPLICATION_CALL_VISUAL
      Deprecated. 
      Specifies the Visual Java Application Call component.
      static java.lang.Integer JDBC
      Deprecated. 
      Specifies the JDBC component.
      static java.lang.Integer JDBC_VISUAL
      Deprecated. 
      Specifies the Visual JDBC component.
      static java.lang.Integer JOB
      Deprecated. 
      Specifies the Job component.
      static java.lang.Integer JOB_VISUAL
      Deprecated. 
      Specifies the Visual Job component.
      static java.lang.Integer MESSAGE
      Deprecated. 
      Specifies the Message Queue component.
      static java.lang.Integer MESSAGE_VISUAL
      Deprecated. 
      Specifies the Visual Message Queue component.
      static java.lang.Integer NETSERVER
      Deprecated. 
      Specifies the NetServer component.
      static java.lang.Integer NUMERIC_DATA_TYPES
      Deprecated. 
      Specifies the Numeric Data Types component.
      static java.lang.Integer PCML
      Deprecated. 
      Specifies the PCML component.
      static java.lang.Integer PRINT
      Deprecated. 
      Specifies the Network Print component.
      static java.lang.Integer PRINT_VISUAL
      Deprecated. 
      Specifies the Visual Network Print component.
      static java.lang.Integer PROGRAM_CALL
      Deprecated. 
      Specifies the Program Call component.
      static java.lang.Integer PROGRAM_CALL_VISUAL
      Deprecated. 
      Specifies the Visual Program Call component.
      static java.lang.Integer RECORD_LEVEL_ACCESS
      Deprecated. 
      Specifies the Record Level Access component.
      static java.lang.Integer RECORD_LEVEL_ACCESS_VISUAL
      Deprecated. 
      Specifies the Visual Record Level Access component.
      static java.lang.Integer SECURE_AS400
      Deprecated. 
      Specifies the Secure AS400 component.
      static java.lang.Integer SERVICE_PROGRAM_CALL
      Deprecated. 
      Specifies the Service Program Call component.
      static java.lang.Integer SYSTEM_STATUS
      Deprecated. 
      Specifies the System Status component.
      static java.lang.Integer SYSTEM_VALUE
      Deprecated. 
      Specifies the System Value component.
      static java.lang.Integer TRACE
      Deprecated. 
      Specifies the Trace component.
      static java.lang.Integer USER
      Deprecated. 
      Specifies the User component.
      static java.lang.Integer USER_SPACE
      Deprecated. 
      Specifies the User Space component.
      static java.lang.Integer USER_VISUAL
      Deprecated. 
      Specifies the Visual User component.
    • Constructor Summary

      Constructors 
      Constructor and Description
      ToolboxJarMaker()
      Deprecated. 
      Constructs an ToolboxJarMaker object.
    • Field Detail

      • AS400

        public static final java.lang.Integer AS400
        Deprecated. 
        Specifies the AS400 component.
      • COMMAND_CALL

        public static final java.lang.Integer COMMAND_CALL
        Deprecated. 
        Specifies the Command Call component.
      • CONNECTION_POOL

        public static final java.lang.Integer CONNECTION_POOL
        Deprecated. 
        Specifies the Connection Pool component.
      • DATA_AREA

        public static final java.lang.Integer DATA_AREA
        Deprecated. 
        Specifies the Data Area component.
      • DATA_DESCRIPTION

        public static final java.lang.Integer DATA_DESCRIPTION
        Deprecated. 
        Specifies the Data Description component.
      • DATA_QUEUE

        public static final java.lang.Integer DATA_QUEUE
        Deprecated. 
        Specifies the Data Queue component.
      • DIGITAL_CERTIFICATE

        public static final java.lang.Integer DIGITAL_CERTIFICATE
        Deprecated. 
        Specifies the Digital Certificate component.
      • FTP

        public static final java.lang.Integer FTP
        Deprecated. 
        Specifies the FTP component.
      • INTEGRATED_FILE_SYSTEM

        public static final java.lang.Integer INTEGRATED_FILE_SYSTEM
        Deprecated. 
        Specifies the Integrated File System component.
      • JAAS

        public static final java.lang.Integer JAAS
        Deprecated. 
        Specifies the JAAS component.
      • JAVA_APPLICATION_CALL

        public static final java.lang.Integer JAVA_APPLICATION_CALL
        Deprecated. 
        Specifies the Java Application Call component.
      • JDBC

        public static final java.lang.Integer JDBC
        Deprecated. 
        Specifies the JDBC component.
      • JOB

        public static final java.lang.Integer JOB
        Deprecated. 
        Specifies the Job component.
      • MESSAGE

        public static final java.lang.Integer MESSAGE
        Deprecated. 
        Specifies the Message Queue component.
      • NETSERVER

        public static final java.lang.Integer NETSERVER
        Deprecated. 
        Specifies the NetServer component.
      • NUMERIC_DATA_TYPES

        public static final java.lang.Integer NUMERIC_DATA_TYPES
        Deprecated. 
        Specifies the Numeric Data Types component.
      • PCML

        public static final java.lang.Integer PCML
        Deprecated. 
        Specifies the PCML component.
      • PRINT

        public static final java.lang.Integer PRINT
        Deprecated. 
        Specifies the Network Print component.
      • PROGRAM_CALL

        public static final java.lang.Integer PROGRAM_CALL
        Deprecated. 
        Specifies the Program Call component.
      • RECORD_LEVEL_ACCESS

        public static final java.lang.Integer RECORD_LEVEL_ACCESS
        Deprecated. 
        Specifies the Record Level Access component.
      • SECURE_AS400

        public static final java.lang.Integer SECURE_AS400
        Deprecated. 
        Specifies the Secure AS400 component. This component performs SSL (Secure Sockets Layer) processing.
      • SERVICE_PROGRAM_CALL

        public static final java.lang.Integer SERVICE_PROGRAM_CALL
        Deprecated. 
        Specifies the Service Program Call component.
      • SYSTEM_STATUS

        public static final java.lang.Integer SYSTEM_STATUS
        Deprecated. 
        Specifies the System Status component.
      • SYSTEM_VALUE

        public static final java.lang.Integer SYSTEM_VALUE
        Deprecated. 
        Specifies the System Value component.
      • TRACE

        public static final java.lang.Integer TRACE
        Deprecated. 
        Specifies the Trace component.
      • USER

        public static final java.lang.Integer USER
        Deprecated. 
        Specifies the User component.
      • USER_SPACE

        public static final java.lang.Integer USER_SPACE
        Deprecated. 
        Specifies the User Space component.
      • AS400_VISUAL

        public static final java.lang.Integer AS400_VISUAL
        Deprecated. 
        Specifies the Visual AS400 component.
      • COMMAND_CALL_VISUAL

        public static final java.lang.Integer COMMAND_CALL_VISUAL
        Deprecated. 
        Specifies the Visual Command Call component.
      • DATA_QUEUE_VISUAL

        public static final java.lang.Integer DATA_QUEUE_VISUAL
        Deprecated. 
        Specifies the Visual Data Queue component.
      • INTEGRATED_FILE_SYSTEM_VISUAL

        public static final java.lang.Integer INTEGRATED_FILE_SYSTEM_VISUAL
        Deprecated. 
        Specifies the Visual Integrated File System component.
      • JAVA_APPLICATION_CALL_VISUAL

        public static final java.lang.Integer JAVA_APPLICATION_CALL_VISUAL
        Deprecated. 
        Specifies the Visual Java Application Call component.
      • JDBC_VISUAL

        public static final java.lang.Integer JDBC_VISUAL
        Deprecated. 
        Specifies the Visual JDBC component.
      • JOB_VISUAL

        public static final java.lang.Integer JOB_VISUAL
        Deprecated. 
        Specifies the Visual Job component.
      • MESSAGE_VISUAL

        public static final java.lang.Integer MESSAGE_VISUAL
        Deprecated. 
        Specifies the Visual Message Queue component.
      • PRINT_VISUAL

        public static final java.lang.Integer PRINT_VISUAL
        Deprecated. 
        Specifies the Visual Network Print component.
      • PROGRAM_CALL_VISUAL

        public static final java.lang.Integer PROGRAM_CALL_VISUAL
        Deprecated. 
        Specifies the Visual Program Call component.
      • RECORD_LEVEL_ACCESS_VISUAL

        public static final java.lang.Integer RECORD_LEVEL_ACCESS_VISUAL
        Deprecated. 
        Specifies the Visual Record Level Access component.
      • USER_VISUAL

        public static final java.lang.Integer USER_VISUAL
        Deprecated. 
        Specifies the Visual User component.
    • Constructor Detail

      • ToolboxJarMaker

        public ToolboxJarMaker()
        Deprecated. 
        Constructs an ToolboxJarMaker object.
    • Method Detail

      • getCCSIDs

        public java.util.Vector getCCSIDs()
        Deprecated. 
        Returns the CCSIDs explicitly to be included.
        Returns:
        The CCSIDs explicitly to be included. The list will be empty if none has been specified. The list will contain only Integer objects.
      • getCCSIDsExcluded

        public java.util.Vector getCCSIDsExcluded()
        Deprecated. 
        Returns CCSIDs to be excluded.
        Returns:
        The CCSIDs to be excluded. The list will be empty if none has been specified. The list will contain only Integer objects.
      • getComponents

        public java.util.Vector getComponents()
        Deprecated. 
        Returns the required components specified by the user.
        Returns:
        The components specified by the user. The list will be empty if none has been specified. The list will contain only Integer objects. See component list for a list of integer values and associated components.
      • getLanguageDirectory

        public java.io.File getLanguageDirectory()
        Deprecated. 
        Returns the base directory under which the Toolbox language files will be searched for. This value is set by setLanguageDirectory().
        Returns:
        The base directory for the language files.
      • getLanguages

        public java.util.Vector getLanguages()
        Deprecated. 
        Returns the national languages that explicitly are to be supported. The languages are identified by their Java locale name, such as fr_CA (for Canadian French). Note: Locale en is always implicitly supported.
        Returns:
        The national languages that explicitly are to be supported. The list will be empty if none has been specified. The list will contain only String objects.
      • reset

        public void reset()
        Deprecated. 
        Resets the ToolboxJarMaker object to a clean, default state, to facilitate object reuse.
        Overrides:
        reset in class JarMaker
      • setCCSIDs

        public void setCCSIDs(java.util.Vector ccsidList)
        Deprecated. 
        Specifies the CCSIDs explicitly to be included. The conversion tables for only these CCSIDs (and CCSIDs specified in any prior invocations) will be included in the output. Conversion tables for other CCSIDs will not be included.
        Note: This augments any previously specified CCSIDs. This method does not verify the existence of the specified CCSIDs.
        Parameters:
        ccsidList - The CCSIDs explicitly to be included. The list should contain only Integer objects. See CCSIDs and encodings for valid values.
      • setCCSIDsExcluded

        public void setCCSIDsExcluded(java.util.Vector ccsidList)
        Deprecated. 
        Specifies CCSIDs to be excluded. The conversion tables for these CCSIDs will not be included in the output.
        Note: This augments any previously specified CCSIDs. This method does not verify the existence of the specified CCSIDs.
        Parameters:
        ccsidList - The CCSIDs to be excluded. The list should contain only Integer objects.
      • setComponents

        public void setComponents(java.util.Vector components)
        Deprecated. 
        Specifies required IBM Toolbox for Java components. Java Beans files associated with the components are not automatically included.
        Note: This augments any previously specified components. If an unrecognized component is specified, a warning message is sent to System.err, and the component is ignored.
        Parameters:
        components - The required components. The list should contain only Integer objects. See component list for valid values.
      • setComponents

        public void setComponents(java.util.Vector components,
                         boolean includeBeans)
        Deprecated. 
        Specifies required IBM Toolbox for Java components.
        Note: This augments any previously specified components. If an unrecognized component is specified, a warning message is sent to System.err, and the component is ignored.
        Parameters:
        components - The required components. The list should contain only Integer objects. See component list for valid values.
        includeBeans - Whether or not Java Beans files associated with the components are to be included.
      • setLanguageDirectory

        public void setLanguageDirectory(java.io.File baseDirectory)
        Deprecated. 
        Specifies the base directory for additional Toolbox language files. The path below this directory should correspond to the package name the language files.
        For example, if the MRI files are located in directories /usr/myDir/com/ibm/as400/access and /usr/myDir/com/ibm/as400/vaccess, then the base directory should be set to /usr/myDir.
        This method does not verify the existence of the specified directory.
        The default language directory is the current directory.
        Parameters:
        baseDirectory - The base directory for the language files.
      • setLanguages

        public void setLanguages(java.util.Vector languages)
        Deprecated. 
        Specifies national languages that explicitly are to be supported. Languages are identified by their Java locale name, such as fr_CA. The language files for the specified languages will be searched for in the directory tree specified by setLanguageDirectory, or, if no directory has been specified, in the directory tree under the current directory.
        Note: This augments any previously specified languages. This method does not verify the existence of files for the specified languages. Locale en is always implicitly supported. If an unrecognized language is specified, a warning message is sent to System.err, and the language is ignored.
        Parameters:
        languages - The languages to be supported. The list should contain only String objects.
      • setProxyFilesExcluded

        public void setProxyFilesExcluded(boolean excludeProxies)
        Deprecated. 
        Specifies whether proxy-only files are to be excluded. Proxy files are needed only if the Toolbox's Proxy Service will be used. By default, all proxy files in the source JAR file are included.
        Parameters:
        excludeProxies - Whether or not proxy-only files are to be excluded.
      • setExcludeSomeDependencies

        public void setExcludeSomeDependencies(boolean excludeSomeDependencies)
        Deprecated. 
        Specifies whether ToolboxJarMaker is allowed to selectively limit dependency expansion, and exclude certain components and packages that are unlikely to be needed. By default, this option is not in effect; that is, all directly- and indirectly-referenced files in the source JAR file are included. Examples of files that may be excluded from the output:
        • JDBC classes, if component JDBC has not been specified
        • class RJob, if neither component Job nor package com.ibm.as400.resource has been specified
        Note: Dependency exclusion is not recommended for pre-V5R2 Toolbox JAR files.
        Parameters:
        excludeSomeDependencies - Whether or not ToolboxJarMaker should selectively limit dependency expansion.
      • main

        public static void main(java.lang.String[] args)
        Deprecated. 
        Performs the actions specified in the invocation arguments.
        Parameters:
        args - The command line arguments.