PRB: Error J0051: Undefined package 'lang'

ID: Q169799


The information in this article applies to:

IMPORTANT: This article contains information about editing the registry. Before you edit the registry, make sure you understand how to restore it if a problem occurs. For information about how to do this, view the "Restoring the Registry" Help topic in Regedit.exe or the "Restoring a Registry Key" Help topic in Regedt32.exe.

SYMPTOMS

The following compiler error appears when you try to build simple Java applets or applications:

error J0051: Undefined package 'lang'
This article discusses the possible reasons why this error occurs. (NOTE: This is not specific to the 'lang' package, but could occur for any package whether implicitly or explicitly imported.)


CAUSE

This problem often occurs after installing a virtual machine for Java that supports the Java Package Manager (JPM). Beginning with Microsoft virtual machine (Microsoft VM) build 2252 (installed with Internet Explorer 4.0x or the SDK for Java 2.0x) and later, the JPM contains all the system classes. These Microsoft VM builds no longer require a Classes.zip file on the classpath at run-time.

Compilers that do not search the JPM will need to find the system classes on the conventional classpath (<windir>\java\classes). To create a single zip file that contains all the system classes, see the RESOLUTION section of this article.


RESOLUTION

The MORE INFORMATION section contains a checklist that provides some of the common fixes for this error.


MORE INFORMATION

Following is a checklist that provides some of the common fixes for this error:

  1. If you have installed Internet Explorer 4.0x or later or the SDK for Java 2.0-3.1, classes.zip may not have been created on the installation machine. This is caused by a new feature of the Microsoft VM called the Package Manager (JPM). The JPM contains the system classes in this release of the Microsoft VM. In order to extract the classes from the JPM for use by tools (such as the Java compiler)that search the class path only, type the following in a command window:
    
       type clspack -auto 
    This creates a new Classes.zip file in the <windir>\java\classes directory and automatically adds it to the classpath of the Microsoft VM. For more information on the clspack utility, please refer to the SDK for Java documentation available at http://www.microsoft.com/java/.


  2. Add an existing Classes.zip to your classpath.
    WARNING: Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.

    For information about how to edit the registry, view the "Changing Keys And Values" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe. Note that you should back up the registry before you edit it. If you are running Windows NT, you should also update your Emergency Repair Disk (ERD).
    1. Load the registry editor (REGEDT32.EXE).


    2. Open the "HKEY_LOCAL_MACHINE" window.


    3. In the View dialog box, make sure the "Tree and Data" check box is selected.


    4. Expand the SOFTWARE node.


    5. Expand the Microsoft node.


    6. Select the Microsoft virtual machine (Microsoft VM) node.


    The classpath should read something like the following:
    
       C:\windows\java\classes\classes.zip;C:\windows\java\classes; 
    You can also load Developer Studio and on the Tools menu, click Options to open the Options dialog box. Click the Directories tab. Make sure the platform is Microsoft virtual machine. Show directories for class files. Add the directory for your Classes.zip file.


  3. Download the latest build of the Microsoft virtual machine from http://www.microsoft.com/java/, click Downloads, and follow the Developer Updates link.

    The REFERENCE section below lists two Knowledge Base articles that discuss the availability of the current Microsoft virtual machine and how to automatically update the Microsoft virtual machine. You need to run clspack after the new VM is installed. See item #1 above.



REFERENCES

For additional information, please see the following articles in the Microsoft Knowledge Base:

Q163638 HOWTO: Automatically Update the Microsoft VM
Q163637 INFO: Availability of Current Build of Microsoft VM

For the latest Knowledge Base articles and other support information on Visual J++ and the SDK for Java, please see the following pages on the Microsoft Technical Support site:
http://support.microsoft.com/support/visualj/

http://support.microsoft.com/support/java/

Additional query words:


Keywords          : kbenv kbIE300 kbIE400 kbIE401 kbSDKJava200 kbSDKJava201 kbSDKJava300 kbVJ100 kbVJ110 kbVJ600 kbSDKJava310 kbSDKJava202 kbIE500 AWTPkg JVM 
Version           : WINDOWS:1.0,1.1,2.0,2.01,2.02,2.1,3.0,3.01,3.02,3.1,4.0,4.01,4.01 SP1,4.01 SP2,5.0,5.0dp1,5_beta,6.0
Platform          : WINDOWS 
Issue type        : kbprb 

Last Reviewed: July 27, 1999