<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
  <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <TITLE>README for NetBeans IDE 3.2</TITLE>
  <META NAME="description" CONTENT="README for NetBeans IDE 3.2">
<link rel="stylesheet" type="text/css" href="../../../netbeans.css">
</HEAD>
<BODY>
<H1>README</H1>
<H3>NetBeans IDE 3.2</H3>
<P>
<P>
<DL>
  <DT><B>Contents</B>
  <DD><A HREF="#java">System Requirements</A>
  <DL>
	  <DD><A HREF="#windows">MS Windows</A>,
		  <A HREF="#solaris">Solaris</A>,
		  <A HREF="#linux">Linux</A>,
		  <A HREF="#OS2">OS/2</A>,
		  <A HREF="#OpenVMS">OpenVMS</A>,
		  <A HREF="#MacOSX">MacOS X</A>,
		  <A HREF="#other">other platforms</A>
  </DL>
  <DD><A HREF="#installation">Installation</A>
  <DD><A HREF="#startupparams">Startup Parameters</A>
  <DD><A HREF="#beans">Upgrading from Previous Versions</A>
  <DD><A HREF="#problems">Known Problems</A>
  <DD><A HREF="#doc">When You Need Help</A>
</DL>

Welcome to NetBeans IDE version 3.2, a modular, standards-based integrated
development environment (IDE), written in Java.  It currently has support for
Java, but its architecture lends itself to supporting other languages as well.

<P>
This README gives you the basic information to help you install and run the
IDE.

<H2><A NAME="requirements">System Requirements</H2></A>
<BLOCKQUOTE>
<H3><A NAME="windows">MS Windows platforms</A></H3>

<BLOCKQUOTE>

	<H4>Hardware</H4>

	<B>Minimum configuration</B>: Microsoft Windows 95, 98, 2000, or NT with a P133 processor, 64 megabytes of RAM, and 40 megabytes of disk space.</BR>
	<B>Recommended configuration</B>: Microsoft Windows 95, 98, 2000, or NT with a P300 processor and 128 Mbytes of RAM.</BR>
	<B>Optimal configuration</B>: Microsoft Windows 95, 98, 2000, or NT with a P300 processor and 192 Mbytes of RAM.
	<P>
	<B>Note:</B> If you have 64 Mbytes, you should set
	the configuration file (<CODE>ide.cfg</CODE>) startup flag to
	<CODE>-Xmx48m</CODE>.

	<H4>Software</H4>

	NetBeans requires a Java 2-compatible JVM. The Java 2 SDK, Standard Edition, for the Windows environment is available for download from <A  HREF="http://java.sun.com/j2se/1.3/">http://java.sun.com/j2se/1.3/</A> (v. 1.3 Production Release) and <A HREF="http://java.sun.com/products/jdk/1.2/">http://java.sun.com/products/jdk/1.2/</A> (v. 1.2.2_005).

</BLOCKQUOTE>

<H3><A NAME="solaris">Solaris platform</A></H3>

<BLOCKQUOTE>
	<H4>Hardware</H4>
	When running on the Solaris platform, you should have at least 40 Mbytes of free disk space.
	<P>
	<B>Minimum configuration</B>: SparcStation 5: 170 MHz, 128 Mbytes of RAM, 16 Mbytes.<BR>
	<B>Recommended configuration</B>: UltraSPARC 5: 333 MHz, 256 Mbytes of RAM.<BR>
	<B>Optimal configuration</B>: UltraSPARC 10: 440 MHz, 512 Mbytes of RAM.

	<H4>Software</H4>
	NetBeans requires the Java 2 SDK, v. 1.3 for the Solaris environment. The latest SDK is available for download from <A HREF="http://java.sun.com/javase/index.jsp">http://java.sun.com/javase/index.jsp</A>.
</BLOCKQUOTE>

<H3><A NAME="linux">Linux platform</A></H3>

<BLOCKQUOTE>
	<P>The Linux JVM is more resource-intensive, so Linux
	users may want to have a higher memory configuration.</P>
	<P>The latest SDK is available for download from <A HREF="http://java.sun.com/j2ee/1.3/index.jsp">http://java.sun.com/j2ee/1.3/index.jsp</A>.
	</P>
</BLOCKQUOTE>

<H3><A NAME="OS2">OS/2 platform</A></H3>

<BLOCKQUOTE>

	<H4>Hardware</H4>

	Minimum, recommended and optimal hardware configuration should be similar to the <A HREF="#windows">MS Windows</A> platform requirements.

	<H4>Software</H4>

	The JDK for OS/2 ships with the operating system or it can be obtained at:
	http://service.boulder.ibm.com/asd-bin/doc/en_us/catalog.htm.

</BLOCKQUOTE>

<H3><A NAME="OpenVMS">OpenVMS platform</A></H3>

<BLOCKQUOTE>

	<H4>Hardware</H4>

	<B>Minimum configuration</B>: OpenVMS 7.2-1 or later with at least a 500MHz
	Alpha processor, 128 megabytes of RAM, and 75,000 blocks of disk space.<BR>
	<B>Recommended configuration</B>: OpenVMS 7.2-1 or later, 667MHz Alpha processor,
	256 megabytes of RAM.

    <H4>Software</H4>

	NetBeans requires a Java 2-compatible JVM. The Java 2 1.3.0 SDK, Standard
	Edition, for the OpenVMS Alpha environment is available for download from
	<A HREF="http://www.compaq.com/java/alpha/index.html">	http://www.compaq.com/java/alpha/index.html</A><BR>

	The Java 2 FastVM 1.3.0-beta or later for the OpenVMS Alpha environment is
	also required and available at
	<A HREF="http://www.compaq.com/java/alpha/index.html">
	http://www.compaq.com/java/alpha/index.html</A>
</BLOCKQUOTE>

<H3><A NAME="MacOSX">MacOS X</A></H3>

<BLOCKQUOTE>

	<H4>Hardware</H4>

	At least 128MB RAM (the min required for MacOS X). 256MB is recommended.

	<H4>Software</H4>
	<ul>
		<li>The official release of Mac OS X (the public beta is not sufficient)</li>
		<li>NetBeans 3.2 (Earlier versions do not work well)</li>
		<li>The file dt.jar from any of Sun's JDK 1.3 distributions Solaris, Linux, or Windows. dt.jar from other,
			non-Sun, JDK 1.3 distributions may also work.</li>
	</ul>
	Please see the <A HREF="#installation">Installation</A> section for information
	about specifics of MacOS X installation.

</BLOCKQUOTE>

<H3><A NAME="other">Other platforms</A></H3>

<BLOCKQUOTE>
	Since NetBeans is written in pure Java, it should run on any working implementation
	of Java(TM) 2 SDK, Standard Edition.  People have reported success running the IDE
	on other platforms as well, but we don't have specific numbers to give you here.
</BLOCKQUOTE>

</BLOCKQUOTE>

<H2><A NAME="installation">Installation</A></H2>
<BLOCKQUOTE>

	For <B>all platforms</B> you can download the .zip or the .tar.gz archive file and
	unpack it on the hard disk using your favorite tool.  Then you must customize
	the startup parameters to tell the IDE where to find the JDK.  Please read the
	section below for details.
	<P>
	On <B>Microsoft Windows</B> platforms you can download and run an .exe point-and-click
	installer, which will guide you through the required steps.
	<P>
	On <B>OpenVMS</B>
		<UL>
			<LI>Download the OpenVMS NetBeans self-extracting archive to
				your OpenVMS system. You may want to put this file into
				its own empty subdirectory since documentation and the
				actual installable kit will be created there.</LI>
			<LI>Assure your default directory is set to the directory
				where the NetBeans archive was downloaded.</LI>
			<LI>Execute the command: <CODE>$ RUN kit_name</CODE><BR>
				Replace <CODE>kit_name</CODE> with the full name of the
				self-extracting
				archive which you just downloaded. The contents of the
				archive will now be extracted to your directory.</LI>
			<LI>View the installation documentation which was created in
				the extraction process and follow the steps contained in
				the guide to complete the installation.</LI>
		</UL>
	<P>

	On <B>MacOS X</B>
	<UL>
		<LI>Untar, unzip or use StuffitExpander to extract NetBeans.  Note:
			unzip is part of developers tools, so it is not available in
			normal installation and don't forget to use gnutar instead of
			tar.</LI>
		<LI>If you have root access on the machine, copy <CODE>dt.jar</CODE> to:<BR>
			<CODE>&nbsp;&nbsp;/System/Library/Frameworks/JavaVM.framework/Versions/1.3/Clases</CODE><BR>
			and make a symbolic link from:<BR>
			<CODE>&nbsp;&nbsp;/System/Library/Frameworks/JavaVM.framework/Versions/1.3/Home/lib</CODE><BR>
			to your copy of <CODE>dt.jar</CODE> in the <CODE>Classes</CODE> directory.<BR>
                        To make a symbolic link, use the command <CODE>ln -s <I>target linkname</I></CODE>,
                        so from the directory <CODE>...1.3/Home/lib/</CODE> above issue the command
                        <CODE>ln -s ../../Classes/dt.jar .</CODE>
			If you do not have root access, copy dt.jar to some directory you can
			access, let's say <CODE>~/Library/Java</CODE></LI>
		<LI>To launch NetBeans open Terminal and go to the <CODE>netbeans/bin</CODE>
			directory. Check that <CODE>runide.sh</CODE> has execute permissions,
			otherwise issue:<BR>
			<CODE>&nbsp;&nbsp;chmod a+x runide.sh</CODE></LI>
		<LI>If you have the link to dt.jar in:<BR>
			<CODE>&nbsp;&nbsp;[ ... ]Versions/1.3/Home/lib</CODE>, start NetBeans in
			the standard look and feel with:<BR>
			<CODE>&nbsp;&nbsp;./runide.sh -jdkhome /System/Library/Frameworks/JavaVM.framework/Home</CODE>
			<BR>
			If <CODE>dt.jar</CODE> is in <CODE>~/Library/Java</CODE> use:<BR>
			<CODE>&nbsp;&nbsp;./runide.sh -jdkhome /System/Library/Frameworks/JavaVM.framework/Home -cp:a ~/Library/Java/dt.jar</CODE>
			<BR>
			The <CODE>-jdkhome</CODE> switch can be omitted if you set the environment variable
			JAVA_PATH or JDK_HOME to:<BR>
			<CODE>&nbsp;&nbsp;/System/Library/Frameworks/JavaVM.framework/Home</CODE><BR>
			NetBeans can be started in Aqua look and feel using<BR>
			<CODE>&nbsp;&nbsp;./runide.sh -jdkhome /System/Library/Frameworks/JavaVM.framework/Home -ui com.apple.mrj.swing.MacLookAndFeel -fontsize 10</CODE><BR><BR>
			Note that settings are incompatible between Aqua and normal look and feel,
			therefore it is a good idea to have two different user directories if you want
			to test both normal and Aqua look and feel. Use the <CODE>-userdir</CODE>
			switch to set different user directories.<BR>
		</UL>

	<P>

</BLOCKQUOTE>

<H2><A NAME="startupparams">Startup Parameters</A></H2>

<BLOCKQUOTE>

The IDE is run by a launcher. There are several variants of it for
Microsoft Windows and UNIX platforms. The launchers are placed in the
<CODE>bin</CODE> subdirectory of the installation directory.
<P>
For <B>UNIX</B>, the Bourne shell script <CODE>runide.sh</CODE> is the launcher.<BR>
For <B>Microsoft Windows</B>,<CODE>.EXE</CODE> executables, <CODE>runide.exe</CODE> and <CODE>runidew.exe</CODE>, are the launchers. (The <CODE>runide.exe</CODE> is Microsoft Windows console applications. When run, a console opens on the desktop with <CODE>stderr</CODE> and <CODE>stdout</CODE> output from the Java program. You can type <CODE>Ctrl-Break</CODE> to get the thread dump, or type <CODE>Ctrl-C</CODE> to quit the whole program. The file,
<CODE>runidew.exe</CODE> is window application. Otherwise it works exactly the same way. This is
similar to <CODE>java.exe</CODE> and <CODE>javaw.exe</CODE>.)<BR>
For <B>OS/2</B> <CODE>runideos2.cmd</CODE> is the launcher.<BR>
For <B>OpenVMS</B> <CODE>runideopenvms.com</CODE> is the launcher.<BR>

<P>
The launcher loads the JVM (1.2 or compatible), builds the IDE's classpath,
passes it along with some default parameters to the JVM, and lets the
JVM launch the Java application. It also restarts the IDE after an auto
update. You can specify additional options:

<DL>
  <DT><CODE>-h</CODE><BR>
      <CODE>-help</CODE>
  <DD>prints usage

  <DT><CODE>-jdkhome <I>jdk_home_dir</I></CODE></DT>
  <DD>use the specified JDK version instead of the default one. By default the
      loader looks into the Windows registry and uses the latest JDK available.
      <P>
  </DD>

  <DT><CODE>-hotspot</CODE><BR>
      <CODE>-server</CODE><BR>
      <CODE>-client</CODE><BR>
      <CODE>-classic</CODE>
  </DT>
  <DD>explitcitly specifies the JVM variant to be used
      <P>
  </DD>

  <DT><CODE>-cp:p <I>additional_classpath</I></CODE>
  </DT>
  <DD>
      prepends the specified classpath onto the IDE's classpath
      <P>
  </DD>

  <DT><CODE>-cp:a <I>additional_classpath</I></CODE><BR>
      -cp <I>additional_classpath</I></CODE>
  </DT>
  <DD>
      appends the specified classpath to the IDE's classpath
      <P>
  </DD>

  <DT><CODE>-J<I>jvm_flags</I></CODE>
  <DD>
      passes specified flags directly to the JVM
      <P>
  </DD>

  <DT><CODE>-ui <I>UI_class_name</I></CODE>
  <DD>use a given class as the IDE's LookAndFeel

  <DT><CODE>-fontsize <I>size</I></CODE>
  <DD>use a given size in points as the font size for the IDE user interface

  <DT><CODE>-locale <I>language[:country[:variant]]</I></CODE>
  <DD>use specified locale

  <DT><CODE>-userdir <I>userdir</I></CODE>
  <DD>explicitly specifies the userdir which is the location
      where user settings are stored.  If this option is not used on UNIX the
      location is ${HOME}/nbuser32, on Windows the launcher will asks the user
      to specify the userdir and stores the value in the registry for later use.

</DL>

<P>On UNIX you can modify the shell scripts yourserlf to suit your needs.

<P>On Microsoft Windows options can also be put in the file
${IDE_HOME>/bin/ide.cfg. The .EXE launcher tries to read this file before it
starts parsing the command line options. In the ide.cfg file you can break the
options into multiple lines.

</BLOCKQUOTE>
<FONT CLASS="default">

<H2><A NAME="upgrade">Upgrading from Previous Versions</A></H2>

<BLOCKQUOTE>

	You can use the Settings Import Wizard which is launched automatically on
	th first start of the IDE to import settings from NetBeans 3.1.
	<P>
	If you used multiuser installation for previous version of the IDE please
	use the <CODE>-userdir <I>userdir</I></CODE> switch described in the
	<A HREF="#startupparams">Startup Parameters</A> section to point the
	launcher to your user directory. This will import your settings
	automatically.

</BLOCKQUOTE>

<H2><A NAME="problems">Known Problems</A></H2>

<UL>
	<LI>If the JAXP 1.0 is installed in your <CODE>jre/lib/ext</CODE>
		directory the IDE will not work well because of the clash with
		XML parser used in the IDE.</LI>
	<LI>If you use JDK 1.2.x the JNDI module will be disabled.
		The reason is that the 1.2.x JDK does not contain the JNDI.
		The JNDI reference implementation can be downloaded at:
		<A HREF="http://java.sun.com/products/jndi/">
		http://java.sun.com/products/jndi</A>.
	<LI>After upgrade the new version of IDE doesn't know about previous user
		directory, so correct mounting of "(userdir)/Development" directory is
		not possible. User is notified and has to mount this directory again
		in NB 3.2.
	<LI>On MacOS X
		<UL>
			<LI>Expand sign in tree view is not drawn correctly in normal L&F.</LI>
			<LI>Debugging is very slow.</LI>
                        <LI>MDI does not work in Aqua L&F.</LI>
                        <LI>Windows are not redrawn after window maximizing and after Netbeans hide/unhide.</LI>
			<LI><I>Hint</I>	Use Meta-Click to simulate right mouse click.</LI>
			<LI><I>Hint</I>	Live window resizing can be disabled on slower machines
			with the following option<BR>
			<CODE>&nbsp;&nbsp;-J-Dcom.apple.mrj.application.live-resize=true</CODE>
		</UL>
	</LI>
	<LI>RedHat 7.1 contains updated versions of glibc and libpthread libraries tailored to a
	    specific processor type. Those libraries cause java VMs from Sun and IBM (and maybe others)
	    to hang up or crash. You can do one of the following:
		<OL>
		    <LI>Edit the wrapper script that launches java VM. It's named $jdk_home/bin/java - or
			simply type<BR>
			<CODE>pico&nbsp;&lsquo;which&nbsp;java&lsquo;</CODE><BR>
			Add a statement<BR>
			<CODE>export&nbsp;LD_ASSUME_KERNEL=2.2.5</CODE><BR>
			at the beginning of the script (after the leading comments)
		    <LI>Edit $netbeans_root/bin/runide.sh and add the above statement at the beginning of
			the script
		</OL>
	<LI>
</UL>

<H2><A NAME="doc">When You Need Help</A></H2>

<BLOCKQUOTE>

	The What's New document, in the installation directory, contains the list of new
	features and information especially useful to users who upgrade from an older
	version of the IDE. To browse the online help documentation, run the IDE, go
	to the Help menu and choose Contents.<P>
	There is extensive information on the NetBeans project website,
	<A HREF="https://netbeans.org/">https://netbeans.org/</A>. Included on
	the website are a FAQ and instructions on how to subscribe to mailing lists
	where you can post questions, comments, or help others.<P>
	As NetBeans is an OpenSource project you can get access to the source code,
	bug tracking system etc. on
	<A HREF="https://netbeans.org/">https://netbeans.org/</A>.

</BLOCKQUOTE>

</BODY>
</HTML>
