Nice answer Mihai. Thanks for sharing the knowledge. I wasn't aware about this either.
Interestingly,(just fyi) Using jvm to set your classpath is not a bad idea. Regards, jd On 9/19/10, Mihai DINCA <mihai.di...@free.fr> wrote: > Hi Arun > > The question was about a "javac file not found" error. There is no need > to know anything about classpath to avoid this error. > > The PATH system variable normally contains a list of directories where > the operating system (OS) looks for files when the explicit path is not > specified. For e.g. when you type "ipconfig" at the Windows/DOS command > prompt, it executes the file "C:\Windows\system32\ipconfig.exe" because > the directory "C:\Windows\system32" is listed in the %PATH%. In the same > way, most of Unix/Linux/OS-X commands are executable binary files that > exist in "/usr/bin" and "/user/bin" is listed in the $PATH. > > The CLASSPATH system variable contains a list of directories where Java > looks for files (namely packages and their contained classes). Instead > of creating a CLASSPATH variable, there are other ways to specify the > list of directories, such as using the "-cp" option for the java or > javac command. There are several long discussions about the CLASSPATH, > look for answers containing "classpath" in the subject around the 30th > ot the 31st of August. > > If you wish, you may put that in this way: > -- The OS is a "program", executed by the machine. In order to find the > files it needs (when the place is not explicitly specified), there are > some "default" places to look for. The "default" places are contained in > the PATH (system variable). > -- The Java virtual machine (JVM) is a "program", executed by the OS. In > order to ind the files it needs (when they are not in the current > directory), there are some "default" places to look for. The "default" > places are contained in the CLASSPATH. > > Now: > -- In order to let the OS to find javac, its directory has to be listed > in the PATH system variable, unless you explicitly specify its full > pahtname. > -- In order to let javac to find the packages that contains the classes > referenced by the code to compile, their directories must be listed in > the CLASSPATH system variable (or the equivalent information is passed > by "-cp"), unless they are in the current directory (the "." is usually > the default value for the classpath). > > So: > -- In order to be able to execute (start) "javac", all you have to think > about is PATH. > -- In order to make it working (compiling), you might need to think to > CLASSPATH too. > > Hope it helps > Mihai > > > Le 19/09/2010 08:40, Arun Kumar a écrit : >> Dear mihai >> >> Do u know about classpath. In below solution u are not mention >> classpath concept. >> Why. >> >> With regards >> Arun Kumar >> >> On Tue, Sep 14, 2010 at 2:13 AM, Mihai DINCA <mihai.di...@free.fr >> <mailto:mihai.di...@free.fr>> wrote: >> >> Hi Sathvavathi, >> >> If you use some integrated programming environment like Eclipse or >> NetBeans, it takes care about the location of the *javac* >> compiler. But if you try to executed it by hand, be sure it is in >> the PATH. >> >> For e.g., under Windows, if your JDK is installed in "*C:\Program >> Files\myJavaSDK*", probably the *javac.exe* is in "*C:\Program >> Files\myJavaSDK\bin*". In this case, do create in the current >> directory the file "*/setenv.bat/*": >> >> *> notepad setenv.bat >> * >> >> with the following content: >> >> *SET JAVAHOME=C:\Program Files\myJavaSDK >> SET PATH="%JAVAHOME%\bin";%PATH%* >> >> (please notice the double quotes " - mandatory if your JAVAHOME >> contains any white space). >> >> Then execute first /*setenv.bat*/: >> >> *> setenv* >> >> and compile using javac only after. >> >> The same thing applies if you are trying to compile on GNU Linux >> or Unix. Let's say that your *javac* compiler is in >> "*/usr/local/java files/bin*". In this case, do create in the >> current directory the file "/*sentenv.sh*/": >> >> *> kate setenv.sh >> * >> >> (your currently installed editor must be different from /kate/) >> with the following content: >> >> *export JAVAHOME=/usr/local/java\ files* >> *export PATH=$JAVAHOME/bin:$PATH* >> >> (there is no quote, but exotic characters, such as the space, must >> be preceded by the escape character "*\*"; other differences: the >> separator character in the PATH is the colon "*:*" instead of the >> semicolon "*;*" and the environment variables are prefixed by >> "*$*" instead of being surrounded by "*%*"). >> >> Then execute first /*setenv.sh*/: >> >> *> chmod a+x setenv.sh >> > ./setenv.sh* >> >> and compile using javac only after. >> >> Hope it helps >> Mihai >> >> Le 13/09/2010 09:27, Sathyavathi Sekar a écrit : >>> >>> >>> --- On *Sun, 9/12/10, Sathyavathi Sekar >>> /<sathyavathi_sr...@yahoo.com> >>> <mailto:sathyavathi_sr...@yahoo.com>/* wrote: >>> >>> >>> From: Sathyavathi Sekar <sathyavathi_sr...@yahoo.com> >>> <mailto:sathyavathi_sr...@yahoo.com> >>> Subject: >>> To: javaprogrammingwithpassion@googlegroups.com >>> <mailto:javaprogrammingwithpassion@googlegroups.com> >>> Date: Sunday, September 12, 2010, 10:25 PM >>> >>> hi i am new to java programming .in the command prompt,i am >>> getting error as javac file cannot be found or the or >>> thesystem cannot find the path specified. what should i do? >>> >>> >>> >>> -- >>> To post to this group, send email to >>> javaprogrammingwithpassion@googlegroups.com >>> <mailto:javaprogrammingwithpassion@googlegroups.com> >>> To unsubscribe from this group, send email to >>> javaprogrammingwithpassion+unsubscr...@googlegroups.com >>> <mailto:javaprogrammingwithpassion+unsubscr...@googlegroups.com> >>> For more options, visit this group at >>> http://groups.google.com/group/javaprogrammingwithpassion?hl=en >> -- >> To post to this group, send email to >> javaprogrammingwithpassion@googlegroups.com >> <mailto:javaprogrammingwithpassion@googlegroups.com> >> To unsubscribe from this group, send email to >> javaprogrammingwithpassion+unsubscr...@googlegroups.com >> <mailto:javaprogrammingwithpassion%2bunsubscr...@googlegroups.com> >> For more options, visit this group at >> http://groups.google.com/group/javaprogrammingwithpassion?hl=en >> >> > > -- > To post to this group, send email to > javaprogrammingwithpassion@googlegroups.com > To unsubscribe from this group, send email to > javaprogrammingwithpassion+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/javaprogrammingwithpassion?hl=en -- To post to this group, send email to javaprogrammingwithpassion@googlegroups.com To unsubscribe from this group, send email to javaprogrammingwithpassion+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/javaprogrammingwithpassion?hl=en