CLASSPATH in XP command prompt

Hi all,
I found weird how Windows XP deals with CLASSPATH, does it
happens normally or just with me?
The problem is that despite I had declared (CLASSPATH, PATH, JAVA_HOME) in my "Enviroment variables" (look below) when I run the command prompt (cmd.exe) it does not run the classes straight, it says:
"Exception in thread "main" java.lang.NoClassDefFoundError:"
Then I need to run with: java -cp %CLASSPATH% .... and it runs. Shouldn't the system recover the CLASSPATH automatically? Strange when I go into command prompt and press set it reports the PATH, CLASSPATH just as declared...
Does it happen with you all, if not do you think my
enviroment variables are to large to the memory?
Another weird thing is that in my opinion, should be enough to declare in the classpath only the folders where the .jar libraries were and not declaring each .jar file... the JVM should scan them for the libraries automatically, but it does not happens!!
Look how I have to set my PATH and CLASSPATH for it to find them as example:
CLASSPATH=.;C:\j2sdk140\lib\;C:\j2sdk140\lib\tools.jar;C:\j2sdk140\lib\servlet.jar;C:\j2sdk140\lib\jspengine.jar;C:\Program Files\JavaSoft\JRE\1.3.1\lib\ext\QTJava.zip;C:\j2sdk140\lib\xt.jar;C:\j2sdk140\lib\sax.jar;C:\j2sdk140\lib\dom4j.jar;C:\j2sdk140\lib\xt.jar;C:\j2sdk140\lib\xp.jar;C:\j2sdk140\lib\saxon.jar;
PATH=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;c:\j2sdk140\bin;c:\j2sdk140\lib;c:\jswdk101;c:\jswdk101\lib;C:\PROGRA~1\COMMON~1\AUTODE~1;D:\PROGRA~2\BC5\BIN;
Don't you find it strange? Is it my mistake?
What can I do to avoid to type -cp %CLASSPATH% everytime
when running apps from XP command prompt (cmd.exe)??
Many Thanks
Al.

I ran into this today... I simply had to remove the quotes from the CLASSPATH system variable... restarted cmd and everything was ok after that.

Similar Messages

  • Setting classpath from the command prompt

    each time i try to set the classpath from the command prompt it is not always well done . can someone give a good format
    i.e set classpath = ;c:\document and settings\ luke

    each time i try to set the classpath from the command
    prompt it is not always well done . can someone give
    a good format
    i.e set classpath = ;c:\document and settings\ lukeThe best way is not doing it at all.
    Anyway, try:
    set classpath = ".;c:\document and settings\luke"

  • How to run a java program in command prompt

    hi i want to run a java program from in command prompt from another directory
    i want to run a file named First in C:\Program Files\Java\jdk1.6.0_07\bin
    so when i give the command
    java "C:\Program Files\Java\jdk1.6.0_07\bin\First"
    it doesnt works it shows
    C:\>java "C:\Program Files\Java\jdk1.6.0_07\bin\First"
    Exception in thread "main" java.lang.NoClassDefFoundError: C:\Program Files\Java
    \jdk1/6/0_07\bin\First
    Caused by: java.lang.ClassNotFoundException: C:\Program Files\Java\jdk1.6.0_07\b
    in\First
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    Could not find the main class: C:\Program Files\Java\jdk1.6.0_07\bin\First. Pro
    gram will exit.

    but it prints
    C:\>java -cp "C:\Program Files\Java\jdk1.6.0_07\bin\" First
    Usage: java [-options] class [args...]
    (to execute a class)
    or java [-options] -jar jarfile [args...]
    (to execute a jar file)
    where options include:
    -client to select the "client" VM
    -server to select the "server" VM
    -hotspot is a synonym for the "client" VM [deprecated]
    The default VM is client.
    -cp <class search path of directories and zip/jar files>
    -classpath <class search path of directories and zip/jar files>
    A ; separated list of directories, JAR archives,
    and ZIP archives to search for class files.
    -D<name>=<value>
    set a system property
    -verbose[:class|gc|jni]
    enable verbose output
    -version print product version and exit
    -version:<value>
    require the specified version to run
    -showversion print product version and continue
    -jre-restrict-search | -jre-no-restrict-search
    include/exclude user private JREs in the version search
    -? -help print this help message
    -X print help on non-standard options
    -ea[:<packagename>...|:<classname>]
    -enableassertions[:<packagename>...|:<classname>]
    enable assertions
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
    disable assertions
    -esa | -enablesystemassertions
    enable system assertions
    -dsa | -disablesystemassertions
    disable system assertions
    -agentlib:<libname>[=<options>]
    load native agent library <libname>, e.g. -agentlib:hprof
    see also, -agentlib:jdwp=help and -agentlib:hprof=help
    -agentpath:<pathname>[=<options>]
    load native agent library by full pathname
    -javaagent:<jarpath>[=<options>]
    load Java programming language agent, see java.lang.instrument
    -splash:<imagepath>
    show splash screen with specified image
    C:\>

  • Running a java application in command prompt

    hi, I'm new to this forum.
    I would like to know what exactly needs to be specified to run a java application in a normal DOS command prompt.
    I know it is something like:
    javaw -classpath .\class GUI.applicationGUI
    where applicationGUI is the main class, right? What else do I need to do, since I have some other non-GUI classes that I need, inside the class folder ?
    Thanks for your time.

    You need to import those classes. And you need to make packages.
    In classes 1, 2 and 3 put:
    package class;
    In class 4 put;
    package class.GUI;
    Then you need to make the connection:
    In classes 1,2 and 3 put:
    import class.GUI.*;
    In class 4 put:
    import class.*;
    Compile each directory separately while in the respective directory. javac *.java
    Then go back to the directory above the directory "class" and run
    java class/GUI/name_of_file_containing_main_method

  • Problem with executing java on command prompt

    Hi my program uses java mySQL connector to connect to a local host. The program works fine when i run through netbeans. But when i run through command prompt it gives in this error message
    java.lang.ClassNotFoundException:com.mysql.jdbc.Driver Can anyone help me to solve this problem

    add mysql.jar file to ur classpath, it will work fine.

  • Problem with JUnit Testing from Command Prompt

    Hi There,
    Related Info:
    OS - Windows 7 32 Bit, IDE Used: Eclipse
    I'm using the following command to compile the java file from the command prompt:
    C:\Users\J\Desktop> javac -classpath .:junit.jar check4PrimeTest.java
    I get the error: "package junit.framework does not exist import junit.framework.*;"
    How can i fix this?
    I have downloaded junit from junit.org the 'junit4.10' and extracted in my Java Folder along side jdkjdk1.7.0_03, jre6, jre7.
    I will post my code below for the 'check4PrimeTest.java' file which im trying to test from the command prompt.
    package check4prime;
    // check4PrimeTest.java
    //Imports
    import junit.framework.*;
    public class check4PrimeTest extends TestCase {
         //Initialize a class to work with.
         private check4Prime check4prime = new check4Prime();
         //constructor
         public check4PrimeTest (String name) {
              super(name);
         //Main entry point
         public static void main(String[] args) {
              System.out.println("Starting test...");
              junit.textui.TestRunner.run(suite());
              System.out.println("Test finished...");
         } // end main()
         //Test case 1
         public void testCheckPrime_true() {
              assertTrue(check4prime.primeCheck(3));
         //Test cases 2,3
         public void testCheckPrime_false() {
              assertFalse(check4prime.primeCheck(0));
              assertFalse(check4prime.primeCheck(1000));
         //Test case 7
         public void testCheck4Prime_checkArgs_char_input() {
              try {
                   String [] args= new String[1];
                   args[0]="r";
                   check4prime.checkArgs(args);
                   fail("Should raise an Exception.");
              } catch (Exception success) {
                   //successful test
         } //end testCheck4Prime_checkArgs_char_input()
         //Test case 5
         public void testCheck4Prime_checkArgs_above_upper_bound() {
              try {
                   String [] args= new String[1];
                   args[0]="10001";
                   check4prime.checkArgs(args);
                   fail("Should raise an Exception.");
              } catch (Exception success) {
                   //successful test
         } // end testCheck4Prime_checkArgs_upper_bound()
         //Test case 4
         public void testCheck4Prime_checkArgs_neg_input() {
              try {
                   String [] args= new String[1];
                   args[0]="-1";
                   check4prime.checkArgs(args);
                   fail("Should raise an Exception.");
              } catch (Exception success) {
                   //successful test
         } // end testCheck4Prime_checkArgs_neg_input()
         //Test case 6
         public void testCheck4Prime_checkArgs_2_inputs() {
              try {
                   String [] args= new String[2];
                   args[0]="5";
                   args[1]="99";
                   check4prime.checkArgs(args);
                   fail("Should raise an Exception.");
               } catch (Exception success) {
                   //successful test
         } // end testCheck4Prime_checkArgs_2_inputs
         //Test case 8
         public void testCheck4Prime_checkArgs_0_inputs() {
              try {
                   String [] args= new String[0];
                   check4prime.checkArgs(args);
                   fail("Should raise an Exception.");
              } catch (Exception success) {
                   //successful test
         } // end testCheck4Prime_checkArgs_0_inputs
         //JUnit required method.
         public static Test suite() {
              TestSuite suite = new TestSuite(check4PrimeTest.class);
              return suite;
         } //end suite()
    } //end check4PrimeTestEdited by: 963042 on Oct 3, 2012 8:57 PM
    Edited by: 963042 on Oct 3, 2012 10:07 PM

    963042 wrote:
    C:\Users\J\Desktop> javac -classpath .:junit.jar check4PrimeTest.javaThat's the Linux way to do it. On windows there is a different list separator. Use this:
    javac -cp .;junit.jar check4PrimeTest.java
    And use -cp to save you some typing ;) If you want to incorporate unit testing into your builds I would suggest looking into automating it a little more through tool such as ant, maven, etc.

  • How to compile & run using command prompt

    Hi all,
    I have a java application consisting of 3 packages & a jar file in the following hierarchy:
    -Project
    -classes
    -src
    -package1
    -package2
    -package3
    -file.jar
    The main class exists in package2 and uses classes within file.jar
    I want the steps to compile and execute the project using command prompt in windows such that the generated classes will be saved in the classes directory
    Can anyone help?
    Thanx in advance

    Hey,
    If your source(*.java) files are in src folder and ur currnet directory is project
    and you want all your class files to be classes folder then you can try this :
    c:\project>javac -cp src\file.jar -d classes\ src\*.javaAssuming that your file.jar file is in src folder.
    The above command will set the classpath to src\file.jar (-cp src\file.jar)
    -d classes\ - will generate all your class files with package hierarchy if any into classes directory.
    src\*.java - specifies the files to be compiled.
    Hope this helps.

  • Compiling via the command prompt?

    Hi, I need to compile a program via the command prompt, and I need help setting up the windows environmental variables. I have followed multiple online tutorials on how to do this, but I keep getting the classDefNotFound exception. Can somebody please tell me which variables I should set? Thanks.

    since you are getting a java error, you don't need to change your PATH. All what remains is your CLASSPATH variable. Let's say you have created a directory c:\classes and you store all your classes in subdirectories according to their package. Then your CLASSPATH would like like this:
    .;c:\classes
    Note the dot at the beginning, that means "current directory", so the directory where you invoke java/javac is also part of the classpath. Note also that each item in the classpath is seperated with a ; .
    If you need to add jars to the classpath, don't add the directory containing the jars but add the jars themselves.
    .;c:\classes;c:\jar\yourjar.jar;c:\jar\otherjar.jar
    Hope that helps.

  • Running my application from command prompt

    Hi im a student and kind of a rookie. My program runs fine from eclipse but when i run from command prompt it gives:
    Exception in thread "main" java.lang.MoClassDefFoundError: Mainclass
    This is what i am typing: java Mainclass. And i am sure i am in the right folder. I know it gives the same problem when you are not in the right folder. ALso my program uses jre5.0 and it runs fine on eclipse.
    Any help greatly appreciated

    From the directory containing Mainclass.class try java -cp . Mainclass The effect of "dash cee pea space dot space" is to
    set the classpath to the current directory.

  • Running command from command prompt

    hai all,
    iam using Javamail to send emails. for that iam using the command prompt.the code for executing the commands from the command prompt is as given below.
    public static String runCommand(String s)
    String result=new String();
         try
         //the command is executed and stored in 'p'
         Process p=Runtime.getRuntime().exe("cmd /c "+s);
         result=(loadStream(p.getInputStream()));
         if(p.waitFor()!=0)
         System.out.println("Exit Value = "+p.exitValue());
         System.out.println("Wait for = "+p.waitFor());
    System.out.println("Result is "+result);
         catch(IOException e)
    System.out.println("IO Exception");
         e.printStackTrace();
         catch(InterruptedException e)
    System.err.println("Interrupted waiting for process!");
         return result;
    the contents of the 'javamail' directory are
    activation.jar, mail.jar, Msgmultisendsample.java and Msgmultisendsample.class
    in the first call to this method i pass the string "set classpath=%classpath%;e:\javamail\mail.jar;e:\javamail\activation.jar;e:\javamail; " here i set the classpath since i will be executing the command from the command prompt.the command works fine and the exitValue() is 0.
    in the second call to this method i pass the string "java Msgmultisendsample [email protected] abc 123.456.789.012 true" for running the Msgmultisendsample.class file. but i get the exitValue() as 1 and the command is not getting executed. i dont know how handle this change in the exitValue().
    both the above commands works fine if i run directly from C:\ but not when called to this method.
    Please help me out people, i will be glad to receieve the replies as early as possible since i have to submit this tomorrow.
    Thanks in advance,
    Jayanth.

    well, the problem is not with the command line arguments. it doesnt matter if we get the input from the user through command prompt or GUI. The problem is only in the handling of the change in exitValue during running.

  • How can i run application client from the command prompt ?

    Hi,
    I'm new to java & EJB. so can any body tell me the command to run the application client from the command prompt. Here is the code to print hello world:
    /* Remote interface */
    public interface Hello extends javax.ejb.EJBObject
         public String hello() throws      java.rmi.RemoteException;
    /* Home interface */
    public interface HelloHome extends javax.ejb.EJBHome
         Hello create() throws java.rmi.RemoteException, javax.ejb.CreateException;
    /* Stateless session bean class */
    public class HelloBean implements javax.ejb.SessionBean
         private javax.ejb.SessionContext ctx;
         public void ejbCreate(){
              System.out.println("ejbcreate()");
         public void ejbRemove(){
              System.out.println("ejbRemove()");
         public void ejbActivate(){
              System.out.println("ejbActivate()");
         public void ejbPassivate(){
              System.out.println("ejbejbPassivate()");
         public void setSessionContext(javax.ejb.SessionContext ctx){
              this.ctx=ctx;
         public String hello(){
              System.out.println("hello()");
              return "Hello, world!";
    /*Client class */
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import java.util.Properties;
    public class HelloClient
         public static void main(String[] args) throws Exception{
              Properties props=System.getProperties();
              Context ctx=new InitialContext(props);
              Object obj=ctx.lookup("HelloHome");
              HelloHome home=(HelloHome)javax.rmi.PortableRemoteObject.narrow(obj,HelloHome.class);
              Hello hello=home.create();
              System.out.println(hello.hello());
              hello.remove();
    I have stored .java files in c:\ejb
    I have successfully created the .class files using javac command in the following directory :
    c:\ejb
    I have also created Helloworld.ear file in c:\ejb using sun application server which contains the following files:
    ejb-jar-ic.jar
    app-client-ic.jar
    sun-j2ee-ri.project
    application.xml
    sun-application.xml
    Manifest.mf
    But the problem is that i'm not able to run the HelloWorld.class file successfully from the command prompt. So please suggest me the comand.
    Thanx in advance.
    Best regards,
    Pankaj

    Hi
    You can run this code from the command prompt in the same way as you run any other simple java program. The only thing is you need to set the Home and Local interfaces in the classpath.And obviously if u had deployed the bean in ur app server container, then its all over.
    And one more thing is that u need to set the provider URL in the InitialContext created in the client program.
    Thanks
    Arun B

  • CLASSPATH and JAVA_HOME commands (variables) aren't recognized by DOS

    My command prompt doesn't recognize neither CLASSPATH nor JAVA_HOME commands...I've already set the path variable "C:\WINDOWS\System32;C:\Programs\Java\jdk1.6.0\bin", but when i'm going to set the classpath and java_home variables it says that they are not recognized as an intern or extern command etc...
    Could anyone please help me?
    (I'm portuguese; sorry for my english...)

    you don't need to set CLASSPATH. you should learn to use -classpath option on javac.exe and java.exe when you compile and run in a command shell.
    if your PATH points to Java's /bin, you probably don't need to do anything else.
    the right way to set environment variables in Windows XP is in the control panel.
    if you want to set them just for one shell, and have them disappear when the shell is closed, you type "set JAVA_HOME=...." and "set CLASSPATH=...".
    You'll find out quickly that CLASSPATH environment variables are ignored by javac.exe, java.exe, every IDE, and every Java EE app server. You have to learn how each one sets CLASSPATH.
    %

  • How to install Java to compile Sevlets at command prompt

    Please help me to compile my java servlets at command prompt.
    I have buyed a new leaptop with windows XP service pack 2
    I have downloaded Java EE 5 SDK Update 4 (with JDK 6u5) for Windows, English
    I setted my path and classpath variable for bin and lib folder..
    I could not able to compile my servlet programs
    I am getting errors for all my servlet package classes and servlet.http. packages.........

    Hi Jeff,
    Follow the steps ...
    First you install JDK, it can be 1.2, 1.3, 1.4.
    Lets say you install it in c:\jdk13\ then c:\jdk13 becomes your Java Home Path.
    Edit your autoexec.bat using any editor. And add the Following Lines.
    SET CLASSPATH=C:\JDK13\SRC.JAR;C:\JDK13\LIB\TOOLS.JAR;C:\JDK13\LIB\DT.JAR
    These are the Jar files that need to comile and execute your Java Programs.
    Next add the JDK Binary executables folder in the Windows Path.
    Add this line to the end of your Autoexec.bat
    PATH=%PATH%;C:\JDK13\BIN
    The %PATH% Variable will append the Bin path to the existing path.
    Dont worry about the Case of the statements but dont Leave Spaces after in between after the PATH= Words in any of the above statements.
    Its reccomended to Restart your PC for these commands to take effect.
    Then write a Java Class and compile it with javac yourClass.java and then run it with java yourClass
    Hope this is clear enough.
    Regards ,
    Max

  • Not running from the Command Prompt.

    I have developed a SMTP based mail dispatch software using netbeans and Javamail. It is working fine while running within netbeans. But while runing it from the command prompt after making a build of it from netbeans, it gives error File not found exception for javamail as below.
    =================================================
    DEBUG: not loading resource: /META-INF/javamail.address.map
    DEBUG: java.io.FileNotFoundException: C:\Program Files\Java\jre1.5.0_07\lib\java
    mail.address.map (The system cannot find the file specified)
    exception thrown:

    JavaMail attempts to load resources from many places. The fact that some
    are not found is not necessarily a problem. JavaMail will fall back to
    resources included in the mail.jar file.
    You need to look further in the debug output for the source of your problem.
    (I assume you've included mail.jar in your CLASSPATH when running
    your program from the command prompt. See README.txt included
    with JavaMail.)

  • New To Command Prompt

    Hi.
    I've been using NetBeans for as long as I can remember, so I've never really need to do the whole javac filename.java in the command prompt. Well, now I'm trying to do an applet, and nothing I do works.
    1.) I compiled WelcomeApplet.java using NetBeans, so I have a WelcomeApplet.class. I put that into an HTML file (WelcomeApplet.html), but it doesn't work: The applet doesn't run.
    2.) I try to use appletviewer like my book suggests, but it doesn't work either: I sent the PATH variable to the right folder, but it still doesn't work.
    Help?

    what "doesn't work"?
    What exact errors are you getting?
    Without more information you're leaving us all guessing, but most likely you are having classpath problems (which amount to 90%+ of all problems people have when running anything Java).

Maybe you are looking for