Environment variables for java classpath

How to Set Path and Classpath in Java

Java PATH and Java CLASSPATH are two confusing environment variables for Java beginners. Both are operating system level Environment Variables.

What are Environment Variables ?

Many operating systems use environment variables to pass configuration information to applications. Java environment variables are key/value pairs, where both the key and the value are strings. There are many subtle differences between the way environment variables are implemented on different Operating Systems. For example, Variables in Windows are NOT case-sensitive , while UNIX does not. The way environment variables are used also varies. Environment variables are typically named in uppercase, with words joined with underscore such as: JAVA_HOME .

Environment Variables examples

JAVA_HOME : C:\Program Files\Java\jdk1.8.0 JDK_HOME : %JAVA_HOME% JRE_HOME : %JAVA_HOME%\jre CLASSPATH : .;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib PATH : your-unique-entries;%JAVA_HOME%\bin

Many problems in the installation and running of Java applications are caused by incorrect setting of environment variables especially in confoguring PATH, CLASSPATH and JAVA_HOME.

How to set Java path in Windows

Java PATH is the environment variable where we specify the locations of binaries. When you run a program from the command line, the operating system uses the PATH environment variable to search for the program in your local file system. In Java, for run any program we use ‘java.exe’ and for compile java code use javac.exe . These all executable(.exe) files are available in bin folder so we set path up to bin folder. The Operating System will look in this PATH for executable. You can set the path environment variable temporary (command line) and Permanent.

Читайте также:  Top left html code

Set path from Windows command line (CMD)

Open command prompt and type the following on command prompt.

Set Java path from cmd

Set Permanent Path of Java in Windows

In Windows inorder to set

  1. Step 1: Right Click on MyComputer and click on properties

set java path windows 10

  1. Step 2: Click on Advanced System Setting

set java path windows 7

  1. Step 3: Select Advanced Tab and Click on Environment Variables

set java path windows 8

  1. Step 4: Then you get Environment Variable window and Click on New.

set java path windows 8.1

Then you get a small window «New System Variable» and there you can set «Variable Name» and «Variable Value». Set Variable Name as «path» and Variable Value as «your jdk path».

set java path windows

Click «OK» button. Now you set your Java Path and next is setting up ClassPath.

How to Set Classpath for Java on Windows

Java CLASSPATH is the path for Java application where the classes you compiled will be available. It is a parameter in the Java Virtual Machine or the Java compiler that specifies the location of user-defined classes and packages. The parameter may be set either on the command-line, or through an environment variable. If CLASSPATH is not set, it is defaulted to the current directory. If you set the CLASSPATH , it is important to include the current working directory (.). Otherwise, the current directory will not be searched.

In Windows inorder to set ClassPath :

Repeat the above steps: Steps1 to Step4 .

Then you get a small window «New System Variable» and there you can set «Variable Name» and «Variable Value». Set Variable Name as «ClassPath» and Variable Value as «your class path» (ex: C:\Program Files\Java\jdk1.8.0\lib\* ).

How to set java ClassPath

Using wildcards in java classpath

Wild cards were introduced from Java 6 . Class path entries can contain the basename wildcard character *, which is considered equivalent to specifying a list of all the files in the directory with the extension .jar or .JAR. For ex. a classpath entry consisting simply of * expands to a list of all the jar files in the current directory.

Example

where %MAINCLASS% is the class containing your main method.

How to use a wildcard in the classpath to add multiple jars

where %MAINJAR% is the jar file to launch via its internal manifest.

If you need only specific jars, you will need to add them individually. The classpath string does not accept generic wildcards like Jar*, *.jar, hiber* etc.

Example

The following entry does not work:

Источник

PATH and CLASSPATH

This section explains how to use the PATH and CLASSPATH environment variables on Microsoft Windows, Solaris, and Linux. Consult the installation instructions included with your installation of the Java Development Kit (JDK) software bundle for current information.

After installing the software, the JDK directory will have the structure shown below.

The bin directory contains both the compiler and the launcher.

Update the PATH Environment Variable (Microsoft Windows)

You can run Java applications just fine without setting the PATH environment variable. Or, you can optionally set it as a convenience.

Set the PATH environment variable if you want to be able to conveniently run the executables ( javac.exe , java.exe , javadoc.exe , and so on) from any directory without having to type the full path of the command. If you do not set the PATH variable, you need to specify the full path to the executable every time you run it, such as:

C:\Java\jdk1.7.0\bin\javac MyClass.java

The PATH environment variable is a series of directories separated by semicolons ( ; ). Microsoft Windows looks for programs in the PATH directories in order, from left to right. You should have only one bin directory for the JDK in the path at a time (those following the first are ignored), so if one is already present, you can update that particular entry.

The following is an example of a PATH environment variable:

C:\Java\jdk1.7.0\bin;C:\Windows\System32\;C:\Windows\;C:\Windows\System32\Wbem

It is useful to set the PATH environment variable permanently so it will persist after rebooting. To make a permanent change to the PATH variable, use the System icon in the Control Panel. The precise procedure varies depending on the version of Windows:

  1. Select Start, select Control Panel. double click System, and select the Advanced tab.
  2. Click Environment Variables. In the section System Variables, find the PATH environment variable and select it. Click Edit. If the PATH environment variable does not exist, click New .
  3. In the Edit System Variable (or New System Variable) window, specify the value of the PATH environment variable. Click OK. Close all remaining windows by clicking OK.
  1. From the desktop, right click the My Computer icon.
  2. Choose Properties from the context menu.
  3. Click the Advanced tab (Advanced system settings link in Vista).
  4. Click Environment Variables. In the section System Variables, find the PATH environment variable and select it. Click Edit. If the PATH environment variable does not exist, click New .
  5. In the Edit System Variable (or New System Variable) window, specify the value of the PATH environment variable. Click OK. Close all remaining windows by clicking OK.
  1. From the desktop, right click the Computer icon.
  2. Choose Properties from the context menu.
  3. Click the Advanced system settings link.
  4. Click Environment Variables. In the section System Variables, find the PATH environment variable and select it. Click Edit. If the PATH environment variable does not exist, click New .
  5. In the Edit System Variable (or New System Variable) window, specify the value of the PATH environment variable. Click OK. Close all remaining windows by clicking OK.

Note: You may see a PATH environment variable similar to the following when editing it from the Control Panel:

%JAVA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

Variables enclosed in percentage signs ( % ) are existing environment variables. If one of these variables is listed in the Environment Variables window from the Control Panel (such as JAVA_HOME ), then you can edit its value. If it does not appear, then it is a special environment variable that the operating system has defined. For example, SystemRoot is the location of the Microsoft Windows system folder. To obtain the value of a environment variable, enter the following at a command prompt. (This example obtains the value of the SystemRoot environment variable):

Update the PATH Variable (Solaris and Linux)

You can run the JDK just fine without setting the PATH variable, or you can optionally set it as a convenience. However, you should set the path variable if you want to be able to run the executables ( javac , java , javadoc , and so on) from any directory without having to type the full path of the command. If you do not set the PATH variable, you need to specify the full path to the executable every time you run it, such as:

% /usr/local/jdk1.7.0/bin/javac MyClass.java

To find out if the path is properly set, execute:

This will print the version of the java tool, if it can find it. If the version is old or you get the error java: Command not found, then the path is not properly set.

To set the path permanently, set the path in your startup file.

For C shell ( csh ), edit the startup file (~/.cshrc ):

set path=(/usr/local/jdk1.7.0/bin $path)

For bash , edit the startup file ( ~/.bashrc ):

PATH=/usr/local/jdk1.7.0/bin:$PATH export PATH

For ksh , the startup file is named by the environment variable, ENV . To set the path:

PATH=/usr/local/jdk1.7.0/bin:$PATH export PATH

For sh , edit the profile file ( ~/.profile ):

PATH=/usr/local/jdk1.7.0/bin:$PATH export PATH

Then load the startup file and verify that the path is set by repeating the java command:

% source ~/.cshrc % java -version

Checking the CLASSPATH variable (All platforms)

The CLASSPATH variable is one way to tell applications, including the JDK tools, where to look for user classes. (Classes that are part of the JRE, JDK platform, and extensions should be defined through other means, such as the bootstrap class path or the extensions directory.)

The preferred way to specify the class path is by using the -cp command line switch. This allows the CLASSPATH to be set individually for each application without affecting other applications. Setting the CLASSPATH can be tricky and should be performed with care.

The default value of the class path is «.», meaning that only the current directory is searched. Specifying either the CLASSPATH variable or the -cp command line switch overrides this value.

To check whether CLASSPATH is set on Microsoft Windows NT/2000/XP, execute the following:

On Solaris or Linux, execute the following:

If CLASSPATH is not set you will get a CLASSPATH: Undefined variable error (Solaris or Linux) or simply %CLASSPATH% (Microsoft Windows NT/2000/XP).

To modify the CLASSPATH , use the same procedure you used for the PATH variable.

Class path wildcards allow you to include an entire directory of .jar files in the class path without explicitly naming them individually. For more information, including an explanation of class path wildcards, and a detailed description on how to clean up the CLASSPATH environment variable, see the Setting the Class Path technical note.

Previous page: Miscellaneous Methods in System
Next page: Questions and Exercises: The Platform Environment

Источник

Оцените статью