home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / inprise / JRUNTIME.Z / README < prev    next >
Text File  |  1998-05-08  |  43KB  |  1,058 lines

  1.                              README
  2.  
  3.                     Java(tm) Development Kit
  4.                      JDK(tm) 1.1.6 Software
  5.  
  6. -----------------------------------------------------------------------
  7. CONTENTS
  8.  
  9.   Overview of the Java Development Kit
  10.     - Introduction
  11.     - Purpose
  12.     - Version Compatibility
  13.     - Bug Fixes
  14.     - What the JDK Software Contains
  15.     - Where to Find More Information
  16.     - Submitting Comments
  17.     - Reporting Bugs and Requesting Features
  18.     - JavaBeans(tm) and the Beans Development Kit
  19.  
  20.   Installing and Running the JDK Software
  21.     - Installation Notes
  22.     - Windows
  23.       - Running JDK Tools in Microsoft Windows
  24.       - Microsoft Windows PATH and CLASSPATH
  25.       - Using the JIT Compiler
  26.       - Microsoft Windows Installation Troubleshooting
  27.       - Possible Problems with Winsock
  28.     - Solaris
  29.       - Running JDK Tools in Solaris
  30.       - Solaris PATH and CLASSPATH
  31.       - Solaris Installation Troubleshooting
  32.     - Running Applets with the AppletViewer
  33.     - Debugging Programs with the Debugger
  34.  
  35.   Deploying Java Applications
  36.     - Runtime Environment
  37.     - Installation
  38.  
  39.  
  40. =======================================================================
  41.                   OVERVIEW OF THE JAVA DEVELOPMENT KIT
  42. =======================================================================
  43.  
  44. -----------------------------------------------------------------------
  45. INTRODUCTION
  46. -----------------------------------------------------------------------
  47. This is version 1.1.6 of the Java Development Kit.  The Java 
  48. Development Kit is a development environment for writing applets 
  49. and applications that conform to the Java 1.1 Core API.  Its compiler 
  50. and other tools are run from a shell and have no GUI interface. This 
  51. version includes improvements in functionality, performance, and 
  52. quality over version 1.0.2 of the Java platform, and includes bug fixes 
  53. since version 1.1.5.
  54.  
  55. This is a maintenance release.  Changes made to the JDK software since 
  56. the first 1.1 beta release are in the file named CHANGES.
  57.  
  58. Because there are no API changes in maintenance releases, we continue 
  59. to refer to this platform as the Java platform 1.1 (rather than 1.1.6).   
  60. While bugs have been fixed in version 1.1.6, the platform hasn't 
  61. changed.
  62.  
  63. Although this is a maintenance release, the Win32 version of the Java 
  64. Development Kit includes a significant performance enhancement. A 
  65. production-quality version of Symantec JIT bytecode compiler is included. 
  66. This is the same JIT previously packaged as an early-access product in 
  67. the Win32 Performance Pack. Because the JIT is now included in the JDK 
  68. software, the Performance Pack has been discontinued.
  69.  
  70. The Symantec JIT compiler is copyrighted (c), 1996-1998, by Symantec 
  71. Corporation. All rights reserved.
  72.  
  73. In the Win32 version, all JDK tools use the JIT by default.
  74. To disable the JIT, see "Using the JIT," below.
  75.     
  76. The Java platform 1.1 offers new capabilities:  Internationalization, 
  77. signed applets, JAR file format, AWT (window toolkit) enhancements, 
  78. JavaBeans(tm) component model, networking enhancements, Math package for 
  79. large numbers, Remote Method Invocation (RMI), Reflection, database 
  80. connectivity (JDBC), new Java Native Interface, Object Serialization, 
  81. Inner Classes, and performance enhancements.
  82.  
  83. For further description of these features, see the "New Feature 
  84. Summary" in the JDK documentation.
  85.  
  86. As part of our ongoing effort to improve the quality of the JDK 
  87. software, we will continue to fix bugs and develop new features. In 
  88. order to help us prioritize our bug-fixing effort, please submit any 
  89. bugs you find as soon as possible, using the procedure described in 
  90. the "Reporting Bugs" section below.
  91.  
  92. The Java Development Kit is a product of Sun Microsystems, Inc.  
  93. JavaSoft(tm), an operating company of Sun Microsystems, develops the 
  94. JDK software.
  95.  
  96.  
  97. -----------------------------------------------------------------------
  98. PURPOSE
  99. -----------------------------------------------------------------------
  100. The JDK software allows you to:
  101.  
  102.       - Develop applets that will run in browsers supporting the
  103.         Java platform 1.1.
  104.  
  105.       - Develop applications.  Applications run without the
  106.         need for a browser. (HotJava itself is written in the Java 
  107.         programming language.)
  108.  
  109.  
  110. -----------------------------------------------------------------------
  111. VERSION COMPATIBILITY
  112. -----------------------------------------------------------------------
  113. In general, any applet or application that ran in version 1.0.2 of the 
  114. Java Development Kit should run correctly in version 1.1.6.  A failure 
  115. to do so is a bug, except for a small number of cases where 
  116. compatibility has had to be broken to close potential security holes or 
  117. fix implementation or design bugs.  
  118.  
  119. Of course, applets that depend on any new 1.1 APIs will not work on 
  120. any browsers that support only 1.0.2, such as Internet Explorer 3.0 and 
  121. Netscape 3.0.  However, in general, applets relying only on APIs 
  122. defined in 1.0.2 (but compiled with the JDK 1.1 compiler) will run on 
  123. 1.0.2 browsers.  This "downwards" compatibility has not been 
  124. extensively tested and cannot be guaranteed. 
  125.  
  126. For more details, see the document on compatibility at:
  127.  
  128.    http://java.sun.com/products/jdk/1.1/compatibility.html
  129.  
  130. If you find any such incompatibilities that are not listed on the
  131. Compatibility web page, please report them to us as noted below
  132. under "Reporting Bugs," and mention that they are compatibility
  133. bugs.  Compatibility is critically important to us, and a cornerstone
  134. of the promise: Write Once, Run Anywhere(tm).
  135.  
  136. -----------------------------------------------------------------------
  137. BUG FIXES
  138. -----------------------------------------------------------------------
  139. As with any release, we will continue vigorously testing and debugging 
  140. the JDK software.  If we uncover any important bugs, we will post them 
  141. on the Java Developer Connection(sm) web site at:
  142.  
  143.    http://java.sun.com/jdc/bugParade/index.html
  144.  
  145. As always, your comments and bug reports are important to making 
  146. future releases successful.  We will use your feedback to help plan 
  147. future releases.  Please report bugs, request features and submit 
  148. comments using the procedure noted below in the sections "Submitting 
  149. Comments" and "Reporting Bugs and Requesting Features". 
  150.  
  151.  
  152. -----------------------------------------------------------------------
  153. WHAT THE JDK SOFTWARE CONTAINS
  154. -----------------------------------------------------------------------
  155.  
  156. RUNTIME ----------------------------------------------------------
  157.  
  158.     - Core Classes (classes.zip)
  159.             DO NOT UNZIP THIS FILE!  It must remain zipped for the
  160.             compiler and interpreter to access the class files
  161.             within it properly.  This file contains all of the
  162.             the compiled .class files for the platform.
  163.  
  164. SOURCE FILES -----------------------------------------------------
  165.  
  166.     - Source Files for Public Classes 
  167.             (src.zip file or src directory)
  168.             This is the set of source files used to create the
  169.             classes included in the core classes classes.zip 
  170.             file (above).  These source files are provided for 
  171.             information purposes only, to help developers learn
  172.             and use the Java programming language.  They do not 
  173.             include the private java.* classes or the sun.* 
  174.             classes, and therefore cannot be compiled into a 
  175.             complete classes.zip file.
  176.  
  177.             Do not modify these classes;  instead, create subclasses
  178.             and override where you need to. These classes are 
  179.             documented in the API Reference documentation, which is 
  180.             generated by javadoc.  
  181.  
  182.             How this is installed depends on the platform:
  183.  
  184.              - On Windows, these are automatically unzipped for you
  185.                during installation.
  186.  
  187.              - On Solaris, you must unzip the src.zip file yourself.
  188.                You can get a free copy of the correct version
  189.                of unzip in source form (which you must compile) from:
  190.  
  191.                http://www.cdrom.com/pub/infozip/zlib/
  192.  
  193.                or 
  194.  
  195.                ftp://ftp.cdrom.com/pub/infozip/zlib/
  196.  
  197.            or
  198.  
  199.            ftp://ftp.uu.net/pub/archiving/zip/UNIX/SUN/
  200.               
  201. TOOLS ------------------------------------------------------------
  202.  
  203.     - Java Compiler (javac)
  204.             Compiles programs written in the Java programming language
  205.             into bytecodes.
  206.  
  207.     - Java Interpreter (java)
  208.             Executes Java bytecodes.  In other words, it runs 
  209.             programs written in the Java programming language.
  210.  
  211.     - Jave Runtime Interpreter (jre)
  212.         Similar to the Java Interpreter (java), but intended for 
  213.         end users who do not require all the development-related 
  214.             options available with the java tool.
  215.  
  216.     - Java AppletViewer (appletviewer)
  217.             Used for testing and running applets.
  218.  
  219.     - Java Debugger (jdb)
  220.             Helps you find bugs in programs.
  221.  
  222.     - Class File Disassembler (javap)
  223.             Disassembles compiled files and prints out a
  224.             representation of the bytecodes.
  225.  
  226.     - Java Documentation Generator (javadoc)
  227.             Parses the declarations and documentation comments in
  228.             a set of source files and produces a set of HTML pages
  229.             describing the public and protected classes, interfaces,
  230.             constructors, methods, and fields. Also produces
  231.             a class hierarchy and an index of all members.
  232.  
  233.     - C Header and Stub File Generator (javah)
  234.             For attaching native methods to code written in the 
  235.             Java programming language.
  236.  
  237.     - Java Archive Tool (jar)
  238.             Combines many class files and other resources
  239.             into a single jar file.
  240.  
  241.     - Digital Signing Tool (javakey)
  242.             Manages entities, including their keys, certificates,
  243.             and the trust associated with them.
  244.  
  245.     - Native-To-ASCII Converter (native2ascii)
  246.             Converts a native encoding file to an ascii
  247.             file that includes the \udddd Unicode notation.
  248.  
  249.     - Java RMI Stub Converter (rmic)
  250.             Generates objects from the names of compiled classes
  251.             that contain remote object implementations.
  252.  
  253.     - Java Remote Object Registry (rmiregistry)
  254.             Creates and starts a remote object registry on the
  255.             specified port of the current host.
  256.  
  257.     - Serial Version Command (serialver)
  258.             Returns the serialVersionUID for one or more classes
  259.             in a form suitable for copying into an evolving class.
  260.  
  261.     - AWT 1.1 Conversion Tool (updateAWT)
  262.             Included with the JDK AWT documentation,
  263.             rather than in the bin directory.
  264.             Updates deprecated 1.0 AWT names to new 1.1 AWT
  265.             names (for Sun Solaris and UNIX systems, or Windows
  266.             systems with the MKS toolkit).
  267.  
  268.     - Various C libraries and include files
  269.  
  270. JAVA DOCUMENTATION AND DEMOS ------------------------------------------
  271.  
  272.     - demo directory
  273.             awt-1.1         AWT demos
  274.             i18n            Internationalization demos
  275.  
  276.             Animator        General-purpose animator
  277.             ArcTest         Test arc drawing and filling
  278.             BarChart        Simple bar-chart applet
  279.             Blink           Blinking, multicolored text
  280.             CardTest        Test card layout manager
  281.             Clock           Analog clock
  282.             DitherTest      Test image dithering
  283.             DrawTest        Draw points and lines
  284.             Fractal         Fractal figures
  285.             GraphLayout     Graph layout by iterated relaxation
  286.             GraphicsTest    Test graphics operations
  287.             ImageMap        Live-feedback image map
  288.             JumpingBox      Catch the jumping box
  289.             MoleculeViewer  Three-dimensional chemical model viewer
  290.             NervousText     Nervous text
  291.             SimpleGraph     Draw a simple graph
  292.             SortDemo        Animated sorting algorithms
  293.             SpreadSheet     Simple spreadsheet
  294.             TicTacToe       Tic-tac-toe game
  295.             WireFrame       Three-dimensional wire-frame model viewer
  296.  
  297.       RMI demos are available in the separately-downloadable 
  298.       JDK documentation.  See the entry "Demonstration Applets
  299.       and Applications" in the JDK documentation table of 
  300.       contents for access.
  301.  
  302.     - README
  303.             This file you are currently reading
  304.  
  305.     - CHANGES
  306.             Changes made in the beta and final releases
  307.  
  308.     - COPYRIGHT
  309.             Copyright notice for the JDK software
  310.  
  311.     - LICENSE
  312.             License agreement for the JDK software
  313.  
  314. NOTE: The JDK software does NOT include a Web browser.  To obtain the 
  315. HotJava(tm) Browser, see the HotJava Browser web page:
  316.  
  317.       http://java.sun.com/products/hotjava/
  318.  
  319.  
  320. -----------------------------------------------------------------------
  321. WHERE TO FIND MORE INFORMATION
  322. -----------------------------------------------------------------------
  323. This README file and the accompanying CHANGES, LICENSE, COPYRIGHT 
  324. files, demo directory, and source code (src.zip) are the only
  325. "documentation" included in this JDK software bundle. You can browse
  326. the JDK software documentation by visiting the JavaSoft web site, or
  327. you can download the JDK Software 1.1.6 Documentation Bundle from:
  328.  
  329.           http://java.sun.com/products/jdk/1.1/
  330.  
  331. The JDK Software 1.1.6 Documentation Bundle includes:
  332.  
  333.      - Release Notes
  334.      - API Reference
  335.      - Guide to New Features
  336.      - Additional Demo Programs
  337.      - Demo Overview Page
  338.      - Tools Documentation
  339.  
  340. The Documentation Bundle is designed to be extracted into the JDK
  341. software installation directory. If you download the ZIP archive
  342. version, be sure to preserve the file path names when you extract the
  343. files from the archive. (With pkunzip, specify the -d option.)
  344.  
  345. If you are new to the Java programming language, you will want to
  346. browse or download the Java Tutorial at:
  347.  
  348.     http://java.sun.com/docs/books/tutorial/
  349.  
  350. For a comprehensive list of online documents, go to the JavaSoft
  351. Documentation page at:
  352.  
  353.     http://java.sun.com/docs/
  354.  
  355. -----------------------------------------------------------------------
  356. SUBMITTING COMMENTS
  357. -----------------------------------------------------------------------
  358. We are very interested in receiving your comments and suggestions as 
  359. early as possible.  
  360.  
  361. If you have a specific feature request or bug to report, please 
  362. refer to the next section for how to submit it. Send other comments 
  363. and informal suggestions directly to us at our JavaSoft email addresses 
  364. at Sun, which are listed at:
  365.  
  366.      http://java.sun.com/mail/
  367.  
  368. Here is a summary of what is on this web page:
  369.  
  370.  - Technical Help - Sun does not provide free technical help.
  371.    See the above web page for some places to obtain help with your
  372.    programming problems.
  373.  
  374.  - JavaSoft Email Addresses - The following are our most current
  375.    email addresses as of this release.  Use these for sending 
  376.    comments and informal suggestions. 
  377.  
  378.       java-intl@java.sun.com                   Internationalization
  379.       java-awt@java.sun.com                    AWT package
  380.       java-security@java.sun.com               Security package
  381.       java-io@java.sun.com                     IO package
  382.       java-net@java.sun.com                    Net package
  383.       jdbc@wombat.eng.sun.com                  JDBC package
  384.       jdbc-odbc@wombat.eng.sun.com             JDBC-ODBC bridge
  385.       java-beans@java.sun.com                  Beans package
  386.       reflection-comments@worthy.eng.sun.com   Reflection package
  387.       jni@java.sun.com                         Java Native Interface
  388.       javadoc@sun.com                   Javadoc Tool
  389.  
  390.    If your comment does not fall into any of those categories,
  391.    please send it to:
  392.  
  393.       jdk-comments@java.sun.com                General comments
  394.  
  395.    While we are not able to respond individually to each comment,
  396.    we do review all comments.
  397.  
  398.  
  399. -----------------------------------------------------------------------
  400. REPORTING BUGS AND REQUESTING FEATURES
  401. -----------------------------------------------------------------------
  402. To report bugs or feature requests, go to this web page:
  403.  
  404.      http://java.sun.com/cgi-bin/bugreport.cgi
  405.  
  406. This gives you instructions for checking if your bug is a duplicate
  407. by allowing you to look in our known bugs list.  This also gives
  408. instructions for how to submit bugs and request features.
  409.  
  410. When submitting a bug, be sure you include the version number of
  411. the JDK software you are running.  You can get the version number of 
  412. the JDK software by executing:
  413.  
  414.     java -version
  415.  
  416.  
  417. -----------------------------------------------------------------------
  418. JAVABEANS(tm) AND THE BEANS DEVELOPMENT KIT
  419. -----------------------------------------------------------------------
  420. A version of the Beans Development Kit (BDK) is also available for 
  421. immediate download from JavaSoft.  BDK includes specific tools and 
  422. support for JavaBeans developers such as the BeanBox test containers
  423. and example beans. See:
  424.  
  425.     http://java.sun.com/beans/bdk_download.html
  426.  
  427. We will continue to ship the BDK in addition to the JDK software.  
  428. Updates to the BDK, tools, and general JavaBeans information 
  429. will be posted on a regular basis to the JavaBeans web site:
  430.  
  431.      http://java.sun.com/beans
  432.  
  433.  
  434.  
  435. =======================================================================
  436.                 INSTALLING AND RUNNING THE JDK SOFTWARE
  437. =======================================================================
  438.  
  439. -----------------------------------------------------------------------
  440. INSTALLATION NOTES
  441. -----------------------------------------------------------------------
  442.     
  443.     IMPORTANT: Please make sure you understand the Copyright
  444.     and License information (in the files named COPYRIGHT and 
  445.     LICENSE) before installing this release.
  446.     
  447. The JDK 1.1.6 software and documentation are available in two separate
  448. downloadable compressed files, called "bundles".  They need to be 
  449. downloaded separately into the same directory and unpacked as follows 
  450. for the few html links between them to work.
  451.  
  452. Here are the abbreviated instructions.  (The installation procedure 
  453. is different on different platforms, so these instructions are 
  454. quite general.)
  455.  
  456.   1. Go to the download page for the Java Development Kit and download 
  457.      the software and documentation separately:
  458.  
  459.         http://java.sun.com/products/jdk/1.1/
  460.  
  461.   2. Follow the installation instructions for your particular 
  462.      platform at:
  463.  
  464.       http://java.sun.com/products/jdk/1.1/installation-solaris2.html
  465.  
  466.         OR
  467.  
  468.       http://java.sun.com/products/jdk/1.1/installation-win32-x86.html
  469.  
  470.   3. Unpack the software and documentation bundles according to the
  471.      instructions on the web page given in step 2.  You should end up
  472.      with the directory structure shown below.
  473.  
  474.   4. Set the PATH and CLASSPATH for Windows or Solaris as
  475.      described in the section that follows.
  476.  
  477.   5. Use a web browser to go to your new, local JDK documentation
  478.      table of contents by opening the "index.html" file in the "docs" 
  479.      directory:  jdk1.1/docs/index.html
  480.  
  481.  
  482.                            jdk1.1.6
  483.     _________________________|_____________________________________
  484.    |      |         |      |      |   |     |     |    |    |      |
  485. README CHANGES COPYRIGHT LICENSE bin lib include demo src docs index.html
  486.                                   |   |     |     |    |    |
  487.                                                             |
  488.                                _____________________________|_____
  489.                               |       |        |       |          |
  490.                              api  tooldocs relnotes  guide    index.html
  491.                               |       |        |       |
  492.   
  493.  
  494.    The "src" directory shown above originally appears as a "src.zip"
  495.    file in the Solaris installation, which you must manually unzip.
  496.    On Windows, the installer automatically unzips it for you.
  497.  
  498.  
  499. -----------------------------------------------------------------------
  500. RUNNING JDK TOOLS IN MICROSOFT WINDOWS
  501. -----------------------------------------------------------------------
  502. After installing the JDK software, you start a tool by typing its
  503. name into the DOS window with a filename as an argument.  None of
  504. the main JDK tools are Windows programs with GUI interfaces -- they
  505. are all run from the DOS command line.  (For example, if you 
  506. double-click on the compiler "javac" icon, it will briefly open and 
  507. immediately close a DOS window, because that is not the proper way to 
  508. run it.)
  509.  
  510. You can specify the path to a tool either by typing the path in 
  511. front of the tool each time, or by adding the path to the startup file 
  512. (autoexec.bat).  For example, if the JDK software is installed at 
  513. C:\jdk1.1.6, to run the compiler on a file myfile.java, go to a DOS 
  514. shell and execute this:
  515.  
  516.     Type:  C:\jdk1.1.6\bin\javac myfile.java
  517.  
  518.      -or- 
  519.  
  520.     Add    C:\jdk1.1.6\bin to your path statement
  521.     Type:  javac myfile.java
  522.  
  523. See the next section about setting the PATH and CLASSPATH variables.
  524.  
  525. -----------------------------------------------------------------------
  526. MICROSOFT WINDOWS PATH and CLASSPATH
  527. -----------------------------------------------------------------------
  528. The CLASSPATH is not required, but if it is set, it will need to be
  529. unset.  You may want to update the "path" variable for convenience.
  530.  
  531.      Developing in both versions 1.0.2 and 1.1.6 - If you want 
  532.      to develop in both versions 1.0.2 and 1.1.6, you must
  533.      set CLASSPATH (and PATH) separately for each one.  
  534.      To run both versions simultaneously, you can run 
  535.      each one from its own DOS window.  If you are running 
  536.      only one at a time, you can write a batch script to
  537.      switch the value of CLASSPATH (and PATH). 
  538.  
  539.      Windows NT only - If you are using Windows NT, it is  
  540.      preferable to make the following environment variable  
  541.      changes in the Control Panel. Start the Control Panel,  
  542.      select System, then edit the environment variables. 
  543.  
  544.   1. PATH -  Add the absolute path of the "jdk1.1.6\bin" 
  545.      directory to your PATH statement as follows. 
  546.  
  547.      The PATH statement enables Windows to find the executables 
  548.      (javac, java, javadoc, etc.) from any current directory.
  549.  
  550.      To find out the current value of your PATH, at the
  551.      DOS prompt type:
  552.  
  553.          C:\> path
  554.  
  555.      To change the PATH, open the AUTOEXEC.BAT file and make the
  556.      change to the PATH statement. To edit the AUTOEXEC.BAT
  557.      file in Windows 95: 
  558.  
  559.        i. Start a text editor by choosing "Start", "Programs", 
  560.           "Accessories", and choosing WordPad or NotePad. 
  561.       ii. Choose Open from the File menu and type "c:\autoexec.bat" 
  562.           for the filename This will open the file for editing. 
  563.      iii. Look for the PATH statement. Notice that the PATH statement
  564.           is a series of directories separated by semi-colons (;).  
  565.           Windows looks for programs in the PATH directories in order,
  566.           from left to right. Look for other versions in the PATH.
  567.           There should only be one path to a classes.zip file.
  568.           When in doubt, put the java directory at the end of 
  569.           the path statement. For example, in the following PATH
  570.           statement, we have added the java directory at the end: 
  571.  
  572.            PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\;C:\DOS;C:\JDK1.1.6\BIN 
  573.  
  574.      To make the path take effect, execute the following:
  575.  
  576.            C:\> autoexec.bat
  577.  
  578.  
  579.   2. CLASSPATH Environment Variable - If you follow the default 
  580.      installation, you do not need to set CLASSPATH, because the
  581.      tools automatically set it for you.  If your CLASSPATH has 
  582.      not previously been set, you can skip this step.
  583.  
  584.      UNSETTING CLASSPATH
  585.  
  586.        If you have previously set the CLASSPATH and want to
  587.        unset it, you normally need to change the current value
  588.        (at the command line) and the startup value (in a startup
  589.        file or script).  For example, to see if it is currently 
  590.        set, type:
  591.  
  592.           % set
  593.  
  594.        This lists all of the environment variables.  CLASSPATH
  595.        will not appear if it is not set.
  596.  
  597.        If it is set, you can unset the current value by setting
  598.        it to no value:
  599.  
  600.           % set CLASSPATH=
  601.  
  602.        Also open your startup file (autoexec.bat) or script and 
  603.        remove the path to the Java platform classes from the 
  604.        CLASSPATH environment variable, if you want the change to 
  605.        be permanent.
  606.  
  607.      WHAT CLASSPATH DOES
  608.  
  609.        The CLASSPATH tells the Java virtual machine and other  
  610.        applications (which are located in the "jdk1.1.6\bin" 
  611.        directory) where to find the class libraries, such as 
  612.        classes.zip file (which is in the lib directory).  
  613.        By default, the java tools temporarily append the 
  614.        following to whatever CLASSPATH you have explicitly 
  615.        set in your startup file:
  616.  
  617.        .;[bin]\..\classes;[bin]\..\lib\classes.zip
  618.  
  619.        where [bin] is substituted by the absolute path to the   
  620.        jdk1.1\bin directory.  Therefore, if you keep the bin and  
  621.        lib directories at the same directory level (that is, if 
  622.        they have a common parent directory), the executables 
  623.        will find the classes.  You need to set the CLASSPATH only 
  624.        if you move classes.zip or want to load a different library 
  625.        (such as one you develop).  
  626.  
  627.      Refer to the Windows Installation Troubleshooting section below 
  628.      if you have problems running the JDK software.
  629.  
  630.  
  631. -----------------------------------------------------------------------
  632. USING THE JIT COMPILER
  633. -----------------------------------------------------------------------
  634. The Win32 Just In Time (JIT) bytecode compiler converts virtual
  635. machine bytecodes to native instructions before execution. This can
  636. cause some delay in program startup and class file loading, but can
  637. also reduce overall program execution time by a factor of ten.
  638.  
  639. In the Win32 version of the Java Development Kit, the JIT is part of 
  640. the JDK software and is invoked by default. To disable the JIT, pass 
  641. the -nojit option to the launcher tool:
  642.  
  643.     java -nojit MyClass
  644.     jre -nojit MyClass
  645.  
  646. Some JDK tools, such as appletviewer, run by invoking a launcher. To
  647. use these tools without the JIT, uses the -D option to pass the -nojit
  648. option to the launcher:
  649.  
  650.     appletviewer -D-nojit mypage.html
  651.  
  652. With the java tool, setting JAVA_COMPILER also affects JIT usage. The
  653. jre tool ignores JAVA_COMPILER. Both tools also use the java.compiler
  654. property to determine JIT usage. See the appropriate tool
  655. documentation.
  656.  
  657. -----------------------------------------------------------------------
  658. MICROSOFT WINDOWS INSTALLATION TROUBLESHOOTING
  659. -----------------------------------------------------------------------
  660. Here are four troubleshooting tips for Microsoft Windows.
  661.  
  662.    * If you see the following error message 
  663.  
  664.         net.socketException: errno = 10047
  665.  
  666.         -or-
  667.  
  668.         Unsupported version of Windows Socket API
  669.  
  670.      check which TCP/IP drivers you have installed. The AppletViewer
  671.      supports only the Microsoft TCP/IP drivers included with 
  672.      Windows 95. If you are using third-party drivers (e.g., 
  673.      Trumpet Winsock), you'll need to change over to the native
  674.      Microsoft TCP/IP drivers if you want to load applets over the
  675.      network. 
  676.  
  677.    * If the AppletViewer does not load applets then you might
  678.      try the following: 
  679.  
  680.       1. set HOMEDRIVE=c:
  681.          set HOMEPATH=\
  682.          and restart the AppletViewer (in the same DOS box) 
  683.  
  684.       2. set HOME=c:\
  685.          and restart the AppletViewer (in the same DOS box) 
  686.  
  687.      If none of these work, try: 
  688.  
  689.          java -verbose sun.applet.AppletViewer
  690.  
  691.      This lists the classes that are being loaded. From this output, 
  692.      you can determine which class the AppletViewer is trying to 
  693.      load and where it's trying to load it from. Check to make sure
  694.      that the class exists and is not corrupted in some way. 
  695.  
  696.    * Error Message: "Exception in thread NULL"
  697.      or "Unable to initialize threads: cannot find class 
  698.      java/lang/Thread" (yes, with forward slashes)
  699.  
  700.      If you are getting one of these fatal error messages 
  701.      when running java, javac, or appetviewer, you should check 
  702.      your CLASSPATH environment variable. It may list 
  703.      "c:\java" or the "classes" directory from an older 
  704.      release.  You can either unset the CLASSPATH variable, 
  705.      or set it to include only the latest version of the Java 
  706.      platform class library.  For example: 
  707.  
  708.         C:\> set CLASSPATH=.;C:\jdk1.1.6\lib\classes.zip
  709.  
  710.      This will make sure that you are using the correct classes 
  711.      for this release.
  712.  
  713.    * Cannot close AppletViewer copyright window (Windows 95 only)
  714.      In Microsoft Windows 95, the launch bar may partially cover
  715.      the AppletViewer copyright notice window Accept and Reject 
  716.      buttons. If this happens, you can move the Windows 95
  717.      launch bar to the side of the desktop to allow access to 
  718.      the copyright window Accept and Reject buttons.
  719.  
  720. -----------------------------------------------------------------------
  721. POSSIBLE PROBLEMS WITH WINSOCK
  722. -----------------------------------------------------------------------
  723. When installing the JDK software on a Windows 95 system, the installer 
  724. will check to see if Winsock 2 is installed on the system. Winsock 2 is 
  725. the most recent version of the networking layer (Winsock) for Windows 
  726. and is published by Microsoft. If Winsock 2 isn't installed, the 
  727. installer will offer to install it.
  728.  
  729. Winsock 2 is advertised as being fully backward compatible with
  730. Winsock 1.1, its predecessor. Occasionally, however, some Windows
  731. configurations seem be adversely affected after installing Winsock 2. 
  732. Problems that have been reported include networking programs (such
  733. as news and mail readers, browsers, etc) that stop working or even
  734. start crashing.
  735.  
  736. If this happens on your system, you should remove Winsock 2 from your
  737. system. This is a simple, three-step procedure:
  738.  
  739. 1. go to C:\Windows\WS2BAKUP directory
  740. 2. run the WS2BAKUP.BAT script
  741. 3. reboot your machine
  742.  
  743. Even without Winsock 2, the JDK software will continue to work properly. 
  744. In heavy multi-tasked network applications, such as servers, Winsock 1.1
  745. bugs may manifest themselves. Most other applications will be
  746. unaffected. We recommend that you upgrade to Winsock 2 as soon as
  747. possible.
  748.  
  749. -----------------------------------------------------------------------
  750. RUNNING JDK TOOLS IN SOLARIS
  751. -----------------------------------------------------------------------
  752. After installing the JDK software, you start a tool by typing its
  753. name into a shell window with a filename as an argument.  You can 
  754. specify the path to a tool either by typing the path in front of 
  755. the tool each time, or by adding the path to the startup file.  
  756. For example, if the JDK software is installed at /usr/local/jdk1.1.6, 
  757. to run the complier on a file myfile.java, go to a shell and execute:
  758.  
  759.     Type:  /usr/local/jdk1.1.6/bin/javac myfile.java
  760.  
  761.      -or- 
  762.  
  763.     Add  /usr/local/jdk1.1.6/bin to your path statement 
  764.     Type:  javac myfile.java
  765.  
  766. The path and CLASSPATH variables are not required, but it is helpful 
  767. to know more about them.  See the next section about setting these 
  768. variables.
  769.  
  770.  
  771. -----------------------------------------------------------------------
  772. SOLARIS PATH and CLASSPATH
  773. -----------------------------------------------------------------------
  774. The CLASSPATH is not required, but if it is set, it will need to be 
  775. unset.  You may want to update the "path" variable for convenience.
  776.  
  777.      NOTE - If you want to develop in both version 1.0.2 and 
  778.      version 1.1.6, you must set CLASSPATH (and path) separately
  779.      for each one.  To run both versions simultaneously, you 
  780.      can run each one from its own shell window.  If you are
  781.      running only one at a time, you can write a batch script 
  782.      to switch the value of CLASSPATH (and PATH). 
  783.  
  784.   1. Path Variable -  Add the absolute path of the "jdk1.1.6/bin"
  785.      directory to your Unix path variable, as follows.  
  786.  
  787.      The path variable enables Solaris to find the executables 
  788.      (javac, java, javadoc, etc.) from any current directory.
  789.      To find out if the path is currently set for any java tools,
  790.      execute:
  791.  
  792.         % which java
  793.  
  794.      This will print the path to java, if it can find it.
  795.  
  796.      If you use the C shell (csh), you can set the path in 
  797.      your startup file (~/.cshrc) as follows, for example:
  798.  
  799.         set path=($path /usr/local/jdk1.1.6/bin)
  800.  
  801.      Then load the startup file and verify that the path 
  802.      is set by repeating the "which" command above:
  803.  
  804.         % source ~/.cshrc
  805.         % which java
  806.  
  807.   2. CLASSPATH Environment Variable - If you follow the default 
  808.      installation, you do not need to set CLASSPATH, because the
  809.      shell scripts automatically set it for you.    If your CLASSPATH 
  810.      has not previously been set, you can skip this step.
  811.  
  812.  
  813.      If you want to develop in both 1.0.2 and 1.1.6, you must set 
  814.      CLASSPATH separately for each one.  To run both simultaneously, 
  815.      run each one in its own DOS window.  If you are running only one 
  816.      at a time, you can write a batch script to switch the value of 
  817.      CLASSPATH. 
  818.  
  819.      UNSETTING CLASSPATH
  820.  
  821.        If you have previously set the CLASSPATH and want to
  822.        unset it, you normally need to change the current value
  823.        (at the command line) and the startup value (in a startup
  824.        file or script).  For example, to see if it is currently 
  825.        set, type:
  826.  
  827.           % echo $CLASSPATH
  828.  
  829.        If it is set, you can unset the current value by typing:
  830.  
  831.           % unsetenv CLASSPATH
  832.  
  833.        Also open your startup file (~/.cshrc) or script and 
  834.        remove the path to the JDK classes from the CLASSPATH 
  835.        environment variable if you want the change to be 
  836.        permanent.
  837.  
  838.      WHAT CLASSPATH DOES
  839.  
  840.        The CLASSPATH tells the Java virtual machine and other 
  841.        applications (which are located in the "jdk1.1.6/bin" directory) 
  842.        where to find the class libraries, such as classes.zip file  
  843.        (which is in the lib directory).  By default, the java tools 
  844.        temporarily append the following to whatever CLASSPATH 
  845.        you have explicitly set in your startup file:
  846.  
  847.        .:[bin]/../classes:[bin]/../lib/classes.zip
  848.  
  849.        where [bin] is substituted by the absolute path to the 
  850.        jdk1.1/bin directory.  Therefore, if you keep the bin and 
  851.        lib directories at the same directory level (that is, if
  852.        they have a common parent directory), the executables
  853.        will find the classes.  You need to set the CLASSPATH only 
  854.        if you move classes.zip or want to load a different library
  855.        (such as one you develop).  
  856.  
  857.      Refer to the Solaris Installation Troubleshooting section below 
  858.      if you have problems running the JDK software.
  859.  
  860. -----------------------------------------------------------------------
  861. SOLARIS INSTALLATION TROUBLESHOOTING
  862. -----------------------------------------------------------------------
  863.    * Error Message: "Exception in thread NULL"
  864.      or "Unable to initialize threads: cannot find class java/lang/Thread"
  865.  
  866.      If you are getting one of these fatal error messages 
  867.      when running java, javac, or appetviewer, you should check 
  868.      your CLASSPATH environment variable. It may list 
  869.      "java" or the "classes" directory from an older 
  870.      release.  You can either unset the CLASSPATH variable, 
  871.      or set it to include only the latest version of the Java platform 
  872.      class library.  For example: 
  873.  
  874.      % setenv CLASSPATH .:/usr/local/jdk1.1.6/lib/classes.zip
  875.  
  876.      This will ensure that you are using the correct classes for 
  877.      this release.
  878.  
  879.  
  880. -----------------------------------------------------------------------
  881. RUNNING APPLETS WITH THE APPLETVIEWER
  882. -----------------------------------------------------------------------
  883. AppletViewer allows you to run one or more applets that are called by 
  884. reference in a web page (HTML file) using the APPLET tag.  The
  885. AppletViewer finds the APPLET tags in the HTML file and runs the 
  886. applets (in separate windows) as specified by the tags.
  887.  
  888. AppletViewer is for viewing applets.  It cannot display an entire 
  889. web page that contains many HTML tags.  It parses only the APPLET 
  890. tag and no other HTML on the web page.
  891.   
  892. To run an applet with appletviewer, you go to a command line for 
  893. your operating system and run appletviewer, passing in the filename 
  894. or URL of the web page as its argument. 
  895. _______
  896. SOLARIS
  897.  
  898.   Here is an example of how to invoke AppletViewer on a file-based
  899.   web page in Solaris.  First change to the "jdk1.1.6" directory.  
  900.   Then execute:
  901.  
  902.   bin/appletviewer demo/GraphLayout/example1.html
  903.  
  904.   Here is an example of how to invoke AppletViewer on a URL-based
  905.   web page in Solaris. Execute:
  906.  
  907.   bin/appletviewer http://java.sun.com/applets/NervousText/example1.html
  908. _______
  909. WINDOWS
  910.   Here is an example of how to invoke AppletViewer on a file-based
  911.   web page in Windows.  Go to a DOS prompt, change to the "jdk1.1.6" 
  912.   directory and then execute:
  913.  
  914.   bin\appletviewer demo\GraphLayout\example1.html
  915.  
  916.   Here is an example of how to invoke AppletViewer on a URL-based
  917.   web page in Windows. Execute:
  918.  
  919.   bin\appletviewer http://java.sun.com/applets/NervousText/example1.html
  920.  
  921. -----------------------------------------------------------------------
  922. DEBUGGING PROGRAMS WITH THE DEBUGGER (JDB)
  923. -----------------------------------------------------------------------
  924. You can debug applets using the -debug option of appletviewer.
  925. When debugging applets, it's best to invoke appletviewer from
  926. the directory that contains the applet's HTML file.  For example,
  927. on Solaris:
  928.  
  929.      cd demo/TicTacToe
  930.      ../../bin/appletviewer -debug example1.html
  931.  
  932. On the PC:
  933.  
  934.      cd demo\TicTacToe
  935.      ..\..\bin\appletviewer -debug example1.html
  936.  
  937. You can find documentation on the debugger and its API at:
  938.  
  939.      http://java.sun.com/products/jdk/1.1/debugging/
  940.  
  941.     
  942.  
  943. =======================================================================
  944.               DEPLOYING JAVA APPLICATIONS
  945. =======================================================================
  946.  
  947. A Java application, unlike a Java applet, cannot rely on a web browser
  948. for installation and runtime services. When you deploy a Java
  949. application, your software bundle will probably consist of the
  950. following parts:
  951.  
  952.       * Your own class, resource, and data files.
  953.  
  954.       * A runtime environment.
  955.  
  956.       * An installation procedure or program.
  957.  
  958. The first item, you already have, of course. The remainder of this
  959. section covers the other two items.
  960.  
  961. -----------------------------------------------------------------------
  962. RUNTIME ENVIRONMENT
  963. -----------------------------------------------------------------------
  964. To run your application, a user needs a Java virtual machine, the Java
  965. platform core classes, and various support programs and files. This
  966. collection of software is known as a runtime environment.
  967.  
  968. The JDK software serves as a runtime environment. However, you probably
  969. can't assume your users have the JDK software installed, and your JDK
  970. software license doesn't allow you to redistribute JDK software files.
  971.  
  972. JavaSoft provides a free, redistributable runtime environment called
  973. the Java Runtime Environment. Versions of this are are available for
  974. all platforms that run the JDK software. The Java Runtime Environment
  975. Version 1.1.6 is available for download at: 
  976.  
  977.     http://java.sun.com/products/jdk/1.1/jre/
  978.  
  979. The Win32 versions comes with a built-in installation program suitable
  980. for end-users. Solaris versions require the developer to provide
  981. installation support.
  982.  
  983. The Java Runtime Environment for Win32 is available both with and
  984. without international support. The non-international version is much
  985. smaller, but is suitable only for English-speaking users. 
  986.  
  987. JavaSoft is not the only supplier of runtime software for Java
  988. programs. If you use a third-party runtime, you should make sure it is
  989. fully compatible with the Java Runtime Environment.
  990.  
  991. For information on third-party runtime environments, see:
  992.  
  993.     http://java.sun.com/cgi-bin/java-ports.cgi
  994.  
  995.  
  996. -----------------------------------------------------------------------
  997. INSTALLATION
  998. -----------------------------------------------------------------------
  999. The final step in the deployment process occurs when the software is
  1000. installed on individual user system. Installation consists of copying
  1001. software onto the user's system, then configuring the user's system to
  1002. support that software.
  1003.  
  1004. This step includes installing and configuring the runtime environment.
  1005. If you use the Java Runtime Environment, you must make sure that your
  1006. installation procedure never overwrites an existing installation,
  1007. unless the existing Java Runtime Environment is an older version.
  1008.  
  1009. The Win32 version of the Java Runtime Environment is distributed as a
  1010. self-installing executable. A simple way to redistribute the Java
  1011. Runtime Environment is to include this executable in your software
  1012. bundle. You can then have your installation program run the executable,
  1013. or simply instruct the user to install the Java Runtime Environment
  1014. before installing the rest of your bundle.
  1015.  
  1016. The Win32 installation program records program information in the
  1017. Windows Registry. This registry information includes the software
  1018. version, which you should compare with the Java Runtime Environment
  1019. version in your software bundle. For more information, refer to the the
  1020. Java Runtime Environment Notes for Developers at:
  1021.  
  1022.     http://java.sun.com/products/jdk/1.1/runtime.html
  1023.  
  1024. A more sophisticated approach is to install the Java Runtime
  1025. Environment on your own system, then copy the files you need into your
  1026. own installation set. If you choose this approach, you must include all
  1027. files described as "required" in the Java Runtime Environment README.
  1028. The Java Runtime Environment software can only be redistributed if all
  1029. "required" files are included. See the LICENSE file for specifics.
  1030.  
  1031. If you use this approach, do not try to emulate the installation steps
  1032. performed by the Java Runtime Environment installer. You might "break"
  1033. an existing Java Runtime Environment installation by missing a new or
  1034. undocumented installation step. Instead, you should include the Java
  1035. Runtime Environment files in your own application directory. In effect,
  1036. your application has its own "private" copy of the Java Runtime
  1037. Environment.
  1038.  
  1039. If your application uses the networking classes, it may not run
  1040. reliably under Winsock 1.1. (See "Possible Problems with Winsock,"
  1041. under "Installing and Running the JDK Software," above.) If your
  1042. networking application must support Windows 95, which comes with
  1043. Winsock 1.1, you will want to include a Winsock 2.0 install in your
  1044. installation procedure. (Windows NT 4.0 and Windows 98 come with
  1045. Winsock 2.0.) To provide Winsock 2.0, you need the Microsoft Windows
  1046. Sockets 2.0 Software Development Kit. This free software can be
  1047. downloaded from the following addresses:
  1048.  
  1049.     http://www.microsoft.com/win32dev/netwrk/winsock2/ws295sdk.html
  1050.     http://www.microsoft.com/windows95/info/ws2.htm
  1051.     ftp://ftp.microsoft.com/bussys/WinSock/winsock2/
  1052.  
  1053. -----------------------------------------------------------------------
  1054. Copyright ⌐ 1996, 1997, 1998 Sun Microsystems, Inc.
  1055. 901 San Antonio Rd., Palo Alto, CA 94303 USA
  1056. All rights reserved.
  1057.  
  1058.