Program runs in eclipse but in command line I need java -cp .

I thought I understood what the classpath variable was all about. I thought it was the directory where the java standard classes were, namely the bin directory of your Java directory. However I've been using Eclipse for the first time and the programs compile and run fine in Eclipse, but in my command line I need to do java -cp . [compiled class] to make it run. Can somebody explain why? Doesn't java normally look in the current directory for the executing classes?
Also I just checked out my CLASSPATH variable and I see C:\Program Files\Java\jre1.5.0_04\lib\ext\QTJava.zip which doesn't seem right to me. Can somebody explain what this is all about? I thought when you installed the Java SDK (JDK) it sets your classpath and everything.

I thought I understood what the classpath variable
was all about. I thought it was the directory where
the java standard classes were, namely the bin
directory of your Java directory.There is nothing correct about this statement. The classpath defines where your classes, packages and JARs are. /bin should be in PATH, and the J2SE standard classes don't need to be referenced in any variable.
However I've been
using Eclipse for the first time and the programs
compile and run fine in Eclipse, but in my command
line I need to do java -cp . [compiled class] to make
it run. Can somebody explain why?Because the Eclipse project defines a classpath of its own (see Proprties-> Build Path) and doesn't give a damn about any system variable.
Doesn't java
normally look in the current directory for the
executing classes?No. It looks in the classpath, nowhere else.
Also I just checked out my CLASSPATH variable and I
see C:\Program
Files\Java\jre1.5.0_04\lib\ext\QTJava.zip which
doesn't seem right to me. Can somebody explain what
this is all about? Another superfluous setting. Libs in /lib/ext are automatically in the classpath.
I thought when you installed the
Java SDK (JDK) it sets your classpath and everything.How would it know where your classes are?

Similar Messages

  • Java programs runs in eclipse but no of errors on command line

    I have a strange problem. I made program that runs fine in eclipse IDE but when I try to compile it using 'javac', it raises a lot of errors. All of same kind with location different.
    The error is ' cannot find symbol '. Symbol: class AllegroGraph.... ' cannot find symbol '. Symbol: variable AGPaths....
    ' cannot find symbol '. Symbol: class valueSetIterator...................
    How can I remove this error as this error is definitely not letting me to specify a bat file to run this program as the way I am advised in my other thread about bat file.

    Are you using 3rd party API for your project? It looks like you are using APIs from [this site|http://www.franz.com/agraph/allegrograph/].
    To compile from the command prompt, you have to specify the 3rd party API (jar files) as classpath. Like so...
    javac -cp <3rd party>.jar *.java

  • Running a jar from the command line

    I am trying to run a Jar from the command line. I have a number of classes in a package called "trainnn".
    I put all the classes into a jar
    jar cvf name.jar trainnn\*.classI then creat a file called mainClass.txt with the line (with a blank return line after it, where QueryMatch has the main). This file was placed in the same directory as the package and the jar file
    Main-Class: QueryMatch
    then
    jar cmf mainClass.txt network.jar G:/TrainNN/src/trainnn/QueryMatch.classthis worked fine.....but it is from here I have problems when I try run the jar
    java -jar network.jarbut get this error.
    Exception in thread "main" java.lang.NoClassDefFoundError: QueryMatch
    I cant figure out this error, I have tried specifying the exact path in the mainClass.txt file but that didnt work.
    Any ideas
    Thanks in advance.

    Hi,
    To start a java app in the command line with "java -jar yourJarFile.jar", the jar needs to have a mainfest file "MANIFEST.MF" in a folder called "META-INF". The manifest file would have to contain the name of your starting class, e.g. it could look like thisManifest-Version: 1.0
    Main-Class: com.yourCompany.yourProject.YourClass Hope that helps. Cheers, HJK

  • How to run a 10g report from command line ?

    Good Afternoon,
    Please advise if there is a way to run a 10g report from command line.
    We use 6i right now and our job scheduler runs reports using "D:\ORADEV6I\BIN\RWRUN60.EXE ..." executable in batch mode on a separate server. We plan to migrate to 10g Database, Forms, Reports. Is there a way to keep this functionality and create a "command" to address an report server and run a report?
    Thank you,
    Dmitri

    Steps to take.
    (1.) In command prompt type RWSERVER SERVER=repserver1 to star the rep server.
    (2.) If you get "Javaw.exe The procedure entry point psoasyn could not be located in the dynamic link library orapls10.dll." error do one of the following
            (a.) Type the full name for the server. D:\OracleDevR2\bin\rwserver SERVER=repserver1
                   or, if it does not work
            (b.) Add D:\OracleDevR2\bin to the system env. variable PATH
    (3.) Start OC4j
    (4.) Now you can access the jobs using URL like:
        http://192.161.11.143:8890/reports/rwservlet/showjobs?server=repserver1
          where 192.161.11.143 is your machine's IP address.

  • Running '3D Toolkit' from a Command Line (in Windows)

    I have found the knowledgebase article "Running Acrobat 4.0 or Later from a Command Line in Windows" (http://www.adobe.com/support/techdocs/321090.html). Is there any way to run the '3D Toolkit' from Command Line, too?

    Hmmm... about all you can do is just open the file.
    Cheers,
    Rocky

  • Firefox always start it self when windows start (around 5 - 6mb ram) with process explorer i got this [Path C:\Program Files\Mozilla Firefox\firefox.exe} [Command line "C:\Program Files\Mozilla Firefox\firefox.exe" -requestPending -osint -url "%1"]

    firefox always start it self when windows start (firefos.exe around 5 - 6mb ram) with process explorer i got this
    [Path >> C:\Program Files\Mozilla Firefox\firefox.exe]
    [Command line >> "C:\Program Files\Mozilla Firefox\firefox.exe" -requestPending -osint -url "%1"]
    is this a bug or a virus?? Thank you..
    == windows start

    Certain Firefox problems can be solved by performing a ''Clean reinstall''. This means you remove Firefox program files and then reinstall Firefox. Please follow these steps:
    '''Note:''' You might want to print these steps or view them in another browser.
    #Download the latest Desktop version of Firefox from http://www.mozilla.org and save the setup file to your computer.
    #After the download finishes, close all Firefox windows (click Exit from the Firefox or File menu).
    #Delete the Firefox installation folder, which is located in one of these locations, by default:
    #*'''Windows:'''
    #**C:\Program Files\Mozilla Firefox
    #**C:\Program Files (x86)\Mozilla Firefox
    #*'''Mac:''' Delete Firefox from the Applications folder.
    #*'''Linux:''' If you installed Firefox with the distro-based package manager, you should use the same way to uninstall it - see [[Installing Firefox on Linux]]. If you downloaded and installed the binary package from the [http://www.mozilla.org/firefox#desktop Firefox download page], simply remove the folder ''firefox'' in your home directory.
    #Now, go ahead and reinstall Firefox:
    ##Double-click the downloaded installation file and go through the steps of the installation wizard.
    ##Once the wizard is finished, choose to directly open Firefox after clicking the Finish button.
    Please report back to see if this helped you!

  • Using Command Line Arguments with JAVA

    Hi,
    we are using an app called ImageMagick to scale and modify images before they are uploaded to a webserver.
    ImageMagick is called from our Objectiv-C app via
    command line.
    is there a way to this in Java?
    Regards
    Eckbert

    So, ur question is not developing a Java application that
    will do the 'image conversion'; but, your message
    conveys that u want to know how to invoke a Java program built by 'imagemagick' that takes command line arguments?
    Am I right?
    If that's the case, u must look into the documentation
    given along with the download'ed piece of software
    for identifying the 'starting point of the program'. i.e., the
    class that contains the 'main' method! And after you
    identify that class [Eg. ImageMagickStart] then you'll
    have to invoke as follows:
    [you must have Java installed in ur system!]
    c:>java ImageMagickStart
    If the program was written intelligently it must print all
    the command-line arguments required by the above
    program by executing the above command, and from that
    you can identify!
    -RK

  • Command line operations in java

    hi there,
    is it possible to create a java program that can perform a specified command line operation?
    regards

    hi there,
    is it possible to create a java program that can
    perform a specified command line operation?
    regardsYes, thats what the String[] args in public static void main(String[] args) is for.

  • Program not running with -cp option from command line

    I'm trying to run a very basic emailing program in Linux (Fedora 5) using Sun's j2sdk1.4.2_16.
    I can run the program no problem from the command line using
    "java RunEmailer"
    but if I try both:
    "java -cp /usr/lmt-programs/mail_send/RunEmailer"
    or
    "[JAVA_HOME]/java -cp /usr/lmt-programs/mail_send/RunEmailer"
    I keep getting the help print out about options when running java.
    I need the -cp option to work as I need to run this program from crontab.
    Thanks in advance.

    uberalles wrote:
    "java -cp /usr/lmt-programs/mail_send/RunEmailer"Here you specify the classpath (the directory /usr/lmt-programs/mail_send/RunEmailer) but you don't specify the class that is to be run. If the class you want to run is named RunEmailer and it's in the directory /user/lmt-programs/mail_send then you want this command:
    "java -cp /usr/lmt-programs/mail_send RunEmailer"

  • Program run in Netbeans but NOT running as jar file

    Dear all ,
    i hope any help in this problem.
    i am writing program to access parallel port i put next files :
    1. [ comm.jar + javax.comm.properties ] in
    [ C:\Program Files\Java\jdk1.6.0_18\lib ] and [ C:\Program Files\Java\jdk1.6.0_18\jre\lib ]
    2. [ win32com.dll ] in [ C:\WINDOWS\system32 ]
    when i run application in NetBeans IDE 6.8 work fine and every think is ok
    BUT when i produce jar file , generated jar file does not work [GUI appear but can not get ports on PC]
    - I try to set Environment Variable as next :
    CLASSPATH = .;C:\Program Files\Java\jdk1.6.0_18\lib\comm.jar
    also does not work
    any tip please ?
    Thanks in advance
    Nabil

    First of all, leave the lib and jre/lib directories of the JRE alone. Never ever touch them again. Remove any jars you have put there yourself, or better yet completely remove and reinstall the JRE to make sure you put it back in a correct state.
    After you do that, learn how to properly work with the classpath in both the IDE and the command line.
    Netbeans: you define the classpath by adding jars to the project (right click on the libraries node in the project tree to get the appropriate options).
    Command line: this depends on if you run a single class, or you invoke an executable jar.
    Single class: you use the -cp command line switch to define the classpath
    Executable jar: the jar itself defines the classpath in its META-INF/manifest.mf file. The -cp command line switch is ignored.
    Since you use Netbeans, you'll get an executable jar so make sure to learn how such a jar is structured.

  • How to run stored procedure in DOS command line????

    Hi,
    I want to run a stored procedure in DOS command line?
    (My_Stored_Procedure is the stored procedure that I want to run )
    This is what I did in DOS prompt
    C:\>sqlplus scott/tiger exec lMy_Stored_Procedure <Return>
    Obviously it is NOT working. Please send me the correct way to fix this.
    Thanks so much in advance for helping.
    Cuong

    Billy  Verreynne  wrote:
    BluShadow wrote:
    True Billy, but even Windows hasn't completely got away from using the "DOS" word...Yeah - the command line/shell environment is based on that of the old DOS command interpreter. But Microsoft does not make the mistake of call it DOS.
    In fact, with earlier versions of Windows NT, a 16bit DOS real-mode virtual machine was supported. This was very kewl.
    Running a large BBS with multiple nodes back then required a DOS machine per node, an IPX network, and a Novell file server.Novell Netwars. ;)
    Ahhhh! good old DOS... so many good programs written at that low level, outside the Windoze environment.Yeah.. cut my teeth on writing code for DOS. Still have all my old BIOS and assembler manuals for it. Wrote my own screen s/w (write to a buffer and then move it into the video buffer, instead of writing char wise to the video buffer via interrupts), mucking about with my own concurrent threading model (using very simplistic cooperative multitasking) and so on. Heck, wrote tons of s/w on DOS... :-)Yeah I've still got a copy of my old machine code programs for writing to buffers and screen memory switching for smooth animation. Run them nowadays and they run like sh!t off a shovel. And all my old coursework including writing an interpreted language and multi-window (dos based windows) editor, parser and the code to execute the language and display the output. Oooo, and so much other stuff.
    Awesome back then as you got really intimate with the o/s and hardware. This is sorely lacking today in environments like Java. And I think the reason why so much code written today is less than optimal - to put it kindly.Exactly. Started for me on the Sinclair zx81 (writing Basic), then the Sinclair Spectrum (Basic and Assembly), then Sinclair QL (yes I really had one!) and then the BBC Master 128K (where I got to writing my own rom filing system and creating my own eproms, to integrate with the word processor for additional printing features etc. as well as storing games on rom for speedy loading - and I still have it and it still works!)
    It's that level of working with the underlying memory and assembly language that gives you the understanding of how values are passed between code using the stack and registers, and how memory allocation and referencing is done etc. As you say... it's missed in a lot of todays teaching, which just seems too high level and misses the basic concepts of things such as datatypes and why they are different. I bet half the modern programmers wouldn't have a clue how to do multiplication or division of binary numbers using the carry flag.

  • What happens when a program name is typed on the command line?

    I mean I know what HAPPENS but I need to know the sequence of events. How would I describe it?
    i.e. java MyProg

    What is this? Are you taking a take-home exam on basic computer operation? You're asking very similar questions about broad things.
    Anyway:
    1) the shell parses the command line. it gets a sequence of tokens which are basically just individual strings
    2) the shell identifies which tokens on the command line are executables, and which are arguments to those executables. It also figures things out like how to chain the output of one program to the input of another, although this doesn't apply in the example you gave. In your example, "java" is the executable and "MyProg" is a string to pass to the executable as an argument.
    3) The shell then searches for the actual program file corresponding to the token that refers to an executable. The shell looks at the PATH environment variable to find a list of directories; it then looks in each directory until it finds the program file. So the program file here would be "java.exe" on a windows system.
    4) It then spawns off a new process to run the java program, passing the MyProg string to it as an argument.
    Does that help?

  • Running jar files from the command line

    I have always felt it would be useful to run a jar file from th command line in EXACTLY the same way as an EXE. On some systems, typing MYAPP.JAR will run the app, but doesn't output and command line data, so it only works for GUI apps. I've come up with a tiny C program that runs java -jar xxxx.jar for you.
    #include <stdio.h>
    #include <string.h>
    #include <process.h>
    void main(int argc,char *argv[])
         char cmd[1024];
         strcpy(cmd,"java -jar ");
         strcat(cmd,argv[0]);
         strcat(cmd,".jar");
         for(int arg=1;arg<argc;arg++)
              strcat(cmd," ");
              strcat(cmd,argv[arg]);
         system(cmd);
    }Simply compile this to an exe, rename the exe to the name of your jar file and put it in the same directory. Then just type 'MyJarFile' (no jar extension) and it should run. It passes all command live args as well. Comments ?

    Here's a better version. The JAR and the EXE can be anywhere in the PATH:
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    #include <process.h>
    void main(int argc,char *argv[])
         char jar[1024];
         char cmd[1024];
         strcpy(cmd,argv[0]);
         strcat(cmd,".jar");
         _searchenv(cmd,"PATH",jar);
         strcpy(cmd,"java -jar ");
         strcat(cmd,jar);
         for(int arg=1;arg<argc;arg++)
              strcat(cmd," ");
              strcat(cmd,argv[arg]);
         system(cmd);
    }

  • Unable to run reports from the unix command line

    hi
    all of a sudden i am unable to run reports ( on App server 10g) either from the unix scripts or from the unix command line. But i can run them from the forms.
    Any one have any idead about this.
    Thank you

    thanks all for replying
    i have set the env variables for the session and it worked. Looks like i have to set the oracle_home and ld_library_path every time ( opening a new putty session) i call sqlldr.
    But in a whole i am trying to run sql loader from the forms. Right now we have Oracle app server 10g which forms 10g version. As oracle app server 10g didnt come with sqlldr, we are copied the sqlldr of database on to app server with different home. after this we can run sqlldr ( on app server ) from unix scripts but not from Forms. Then we opened a qurey with oracle about app server 10g not commig with sqlldr and its remedy . But they said that they dont have specific remedy for that and suggested the same what we did.
    So we came up with java package which does the same funtion as host command and trying to run sqlldr which is on the database( ie replacing the host command in the forms with the database funtion). By using that funtion i am able to run the sqlldr from sql plus but not from forms. I couldnt easily debug it as i wont through any error messages.
    Any one have any idea of this ...
    Thank you

  • Tiger Server: Default MySQL works for phpMyAdmin but not command line ? ? ?

    Greetings all,
    I followed the excellent instructions at
    http://discussions.apple.com/thread.jspa?threadID=132783&tstart=0
    on upgrading PHP to version 5 and getting (the preinstalled) MySQL setup with phpMyAdmin
    I can connect through the phpMyAdmin, create new dbs, etc. Problem is that now I CAN'T connect from the command line. (I originally set my new root password from the command line and that's the last time I could connect from there!
    Now I get the dreaded ERROR 2002 when I attempt:
    /usr/bin/mysql -h localhost -u root -p
    If I use the IP address or hostname instead of "localhost" (after -h) I get a ERROR 2003. Dropping the -h and hostname from the line above still gets me a ERROR 2002.
    My phpMyAdmin config is a connect type "TCP" not socket, which might be one reason it works and the command line doesn't, but I still don't know where I've gone wrong.
    My /var/mysql/* is all owned by mysql and group www.
    I'm finding lots of people asking about the ERROR 2002, but not finding any solutions (particularly for Tiger Server). I'd prefer to use the preinstalled MySQL to installing a new installation (the thread referenced above says upgrading or removing the MySQL installation is too hard to do) and there has GOT to be a reasonable explanation for why it works with phpMyAdmin, but not the command line.
    Thanks in advance for any replies!
    Many   Mac OS X (10.4.3)  

    You know what? I think when I started mysql_safe, I did it with sudo. Maybe that is my problem?
    If so, what user do I want to start it as? I've seen one suggestion of doing this:
    ./bin/mysqld_safe --user=mysql &

Maybe you are looking for