1))What is the difference between "path" and "classpath"? Ans:: We keep all "executable files"(like .exe files) and "batch files"(like .bat) in path variable. And we keep all jar files and class files in classpath variables. So path is set according to the .exe files & .bat files And classpath is set according to the .jar files & .class files.
Operating system tries to find .exe and .bat files in path and JVM tries to find all classes in classpath.
first of all java program compilation purpose can totaly search in java classes in there classes not available the class so generate the error so avoid the that error javac next check the classpath and after path will be checked path also correct the progarm automatically process otherwise not run the programs.
PATH is required to locate "java" and "javac" command which is used to compile and run java classes
CLASSPATH is used by Classloaders to load classes.
java is object oriented language which work on classes and interfaces. To find the definitions of objects and method JVM (java virtual machine) compiler required class files or interface file. And compiler only search in set path locations. Hence to give reference of particular class in specific location we have to set the path every time to new application.
if you are using the IDE then there is no need to set class path, ant you are using Command prompt to run the java program then you need to set the class path where the class (which is going to be used in your program) is actually located,use the following command:set calsspath=%classpath%;actual_path_of the class;we cancall more than two class by using this command by using separator (,)
In Windows:Copy the lib path of the java jdk from where it is installed.Open command promt.Type the following command.set CLASSPATH=Example:C:\>set classpath=C:\Java\jdk1.6.0_03\lib
Java Classpath is a parameter that tells the Java Virtual Machine or the Java Compiler, where to search for user-defined classes and packages on a computer.
Classpath is represented by "classpath" environment variable, not case sensitive, print its value in Linux echo $classpath in Windows echo %classpath% from java program use System.getProperty("java.classpath")
Make sure the environmental variables "classpath" and "path" are properly set. Also check if all requisite JARS are present in the projects build path. In case you are getting this during File input/output - check if the file is present in the appropriate location.
in Windows : specify environment variable as classpath orset classpath="list of directories" e.g. set classpath="C:\java\lib"in Linux export CLASSPATH="your classpath" e.g. export CLASSPATH="/home/java/lib"
to compile and run java program you need to set path and classpath path refers to binary used to compile and run java program i.e. "javac" for compilation and "java" for execution
path is used to define where the system can find the executable files.Whereas Classpath is used to specify the location of class files
if you are using the IDE then there is no need to set class path, ant you are using Command prompt to run the java program then you need to set the class path where the class (which is going to be used in your program) is actually located,use the following command:set calsspath=%classpath%;actual_path_of the class;we cancall more than two class by using this command by using separator (,)
Classpath for Java can only be set depending on what system is being used. The environment also has to be specified in order for Classpath to work at its best.
In Windows:Copy the lib path of the java jdk from where it is installed.Open command promt.Type the following command.set CLASSPATH=Example:C:\>set classpath=C:\Java\jdk1.6.0_03\lib
You need to set The CLASSPATH variable which is an argument set on the command-line that tells the Java Virtual Machine where to look for user-defined classes and packages in Java programs. Syntax is java -classpath "path to the packages". Set the PATH variable if you want to be able to conveniently run the Java 2 SDK executables (javac.exe, java.exe, javadoc.exe, etc.) from any directory without having to type the full path of the command. To set the PATH permanently, add the full path of the j2sdk1.4.2_version\bin directory to the PATH variable. -sravyaa
Java Classpath is a parameter that tells the Java Virtual Machine or the Java Compiler, where to search for user-defined classes and packages on a computer.
CLASSPATH The CLASSPATHenvironment variable tells the Java Virtual Machine and other Java applications (for example, the Java tools located in the jdk1.1.x/bin directory) where to find the class libraries, including user-defined class libraries.SYNOPSISThe CLASSPATH environment variable is set with the setenvcommand. Using setenv at the command line changes the current value of CLASSPATH. You can also use setenv in your startup file to specify a CLASSPATH at startup. The format is: setenv CLASSPATH path1:path2 ... where a path to a .zip or .jar file must terminate with the filename, and a path to a .class file must terminate with the directory name. The Java interpreter will search the paths for a class by name and load the first one it finds. DESCRIPTIONThe CLASSPATH tells the Java Virtual Machine and other Java applications and tools where to find the class libraries. The class libraries that the CLASSPATH points to may be the JDK classes (contained in the classes.zip file in the lib directory) and/or any classes that you want to use. Default CLASSPATH settingIf you followed the default JDK installation procedure, you probably do not need to set CLASSPATH because the shell scripts automatically append the following to the current CLASSPATH: .:[bin]/../classes:[bin]/../lib/classes.zip In this expression, [bin] is the absolute path to the jdk1.1.x/bin directory. Therefore, if you keep the bin and lib directories at the same directory level, the Java executables will find the JDK classes (contained in the classes.zip file). Note that the default CLASSPATH also includes a path to a classes directory on the same directory level as bin and lib. You can put your own (unzipped) class files in a classes directory that you create, and the Java executables will be able to find them with the default CLASSPATH. You should also be aware that some third-party applications that use the Java Virtual Machine may modify your CLASSPATH environment variable.Setting CLASSPATHYou need to set the CLASSPATH if you move the JDK's classes.zip file or if you want to load a class library that's not in a location specified by the default CLASSPATH. To set CLASSPATH, use the setenv command.Classes can be saved either in individual class files, such as MyClass.class, or in groups in a file such as classes.zip or classes.jar. When specifying a path to a .zip or .jar file, you must end the path with the filename. When specifying a path to .class files, that path should end with the directory containing the .class files. For example, if you have class files in the directory /home/MyClasses, you could set the CLASSPATH with the following: setenv CLASSPATH /home/MyClasses If you also wanted to include the path /home/OtherClasses, you could use the command: setenv CLASSPATH /home/MyClasses:/home/OtherClasses Note that the two paths are separated by a colon.The order in which you specify multiple directories in the CLASSPATH variable is important. The Java interpreter will look for classes in the directories in the order they appear in the CLASSPATH variable. In the example above, the Java interpreter will first look for a needed class in the directory /home/MyClasses. Only if it doesn't find a class with the proper name in that directory will the interpreter look in the /home/OtherClasses directory.If you want to use a class library that is in a zipped file, you must include the name of that file in the CLASSPATH, for example: setenv CLASSPATH /home/MyClasses/myclasses.zipIf you want the CLASSPATH to point to class files that belong to a package, you should specify a path name that includes the path to the directory one level above the directory having the name of your package. For example, suppose you want the Java interpreter to be able to find classes in the package mypackage. If the path to the mypackage directory is /home/MyClasses/mypackage, you would set the CLASSPATH variable as follows: setenv CLASSPATH /home/MyClasses Unsetting CLASSPATHIf your CLASSPATH environment variable has been set to a value that is not correct, or if your startup file or script is setting an incorrect path, you can unset CLASSPATH by using: unsetenv CLASSPATH This command unsets only CLASSPATH's current value. You should also delete or modify the lines in your startup file that may be setting an incorrect CLASSPATH.The Java Runtime Environment (JRE) and CLASSPATHThe wrappers that invoke the Java Runtime Environment (JRE) unset the CLASSPATH variable before starting the Java interpreter. The reason is simple: there might be several Java applications installed on the machine. If you or someone else previously installed a Java development tool that modified the .cshrc or .login script, then CLASSPATH may point at a JDK1.0.2-based Java runtime. If such a CLASSPATH were left intact when the Java interpreter is invoked, then it will be loading 1.0.2 classes. If your app relies on 1.1 features, it will fail. Just as bad, it's unlikely that the classes for your app will even be found in that CLASSPATH. Unsetting CLASSPATH before invoking the JRE interpreter sanitizes your application against unpredictable results.The default CLASSPATH used by the JRE is: [jre_path]/lib/rt.jar:[jre_path]/lib/i18n.jar:[jre_path]/lib/classes.jar:[jre_path]/lib/classes.zip:[jre_path]/classes where [jre_path] is the absolute path of the jre1.1.x directory (it has bin and lib directories underneath it). The files rt.jar and i18n.jar are used to hold the runtime's (required) core classes and (optional) internationalization classes. While you can store the classes specific to your application in either [jre_path]/lib/classes.jar or as individual class files in the [jre_path]/classessubdirectory, it is better to keep the JRE separate from your application and use CLASSPATH to point the interpreter to your application's class files.Using both JDK 1.0.2 and JDK 1.1.xIf you want to develop in both JDK 1.0.2 and JDK 1.1.x, you must set CLASSPATH separately for each one. To use both JDKs simultaneously, you can run them from separate shell windows each having its own value for CLASSPATH. If you are running only one at a time, you can write a batch script to switch the value of CLASSPATH as appropriate.The Java tools' -classpath optionSome of the Java tools such as java, javac, and javah have a -classpath option which can be used to override the path or paths specified by the CLASSPATH environment variable.
Classpath is represented by "classpath" environment variable, not case sensitive, print its value in Linux echo $classpath in Windows echo %classpath% from java program use System.getProperty("java.classpath")
Make sure the environmental variables "classpath" and "path" are properly set. Also check if all requisite JARS are present in the projects build path. In case you are getting this during File input/output - check if the file is present in the appropriate location.
The past tense of the verb to clasp is "clasped" (grabbed, held).The unique Java programming term is spelled classpath.