Link to home
Start Free TrialLog in
Avatar of JeffBeall
JeffBeallFlag for United States of America

asked on

java programming

I am just starting to learn java programming and have a website with a tutorial/walk-through on learning how to code in java.
I downloaded jdk-7u3-windows-x64.exe and it installed without a problem, I am working on a windows 7 box.
I'm at a point where I am trying to set my Path and ClassPath, so I go to the environment variables and create a new variable for java. I have a screen shot.
User generated imagebut at a command prompt, if I type
java
it works fine, but if I type
javac
I get
"'javac' is not recognized as an internal or external command,
operable program or batch file."
I think this might be related to the error I get when I try to run the first "program" the tutorial gives. here is the code

public class MyProgram {

  public static void main(String[] args) {
    System.out.println(
      "Eureka, I can put Java on my resume.");
  }
}

It compiles fine if at the command prompt I go to the javac path,
C:\Program Files\Java\jdk1.7.0_03\bin
and it makes
MyProgram.class
but when I run
java MyProgram.class
I get
"Error: Could not find or load main class c:\javacode\MyProgram.class"
I don't get what I'm doing wrong?
Any ideas?
Avatar of for_yan
for_yan
Flag of United States of America image

Please post exactly your commands and in what folders you excute the,

What is c:\javacode and why this folder is mentiooned if you are doing everuthing in

C:\Program Files\Java\jdk1.7.0_03\bin

 folder?
Normally you should make sure that C:\Program Files\Java\jdk1.7.0_03\bin is in your PATH

(not javapath but PATH)
Best of all make it so that your PATH
begins with

C:\Program Files\Java\jdk1.7.0_03\bin
Then go to any folder, copy over to that folder your file

MyProgram.java

and then type


javac MyProgram.java

and then

java MyProgram

it shouild work
Mind, that after you change PATH in your co ntrol-panel environement you need to open a new dos window (after youchanged the PATH to opne window - not before)
Avatar of CEHJ
This is the best practice way of setting things:


a. define JAVA_HOME as C:\Program Files\Java\jdk1.7.0_03
b. If your only jdk, append the following to PATH
%JAVA_HOME%\bin

If you need a classpath at all, it's usually better to do that at the beginning of your session
The main thing is to pre-pend this :
C:\Program Files\Java\jdk1.7.0_03\bin
to your PATH

You want to perepend it as in majority of cases you'll have some older java in the path and if it comes before it can screw up your oepration

Some special cases require JAVA_HOME but it is rather rare.
The most important thisng is to have your PATH correct
(and there is no such thing as javapath - it is not used - you may remove it)
SOLUTION
Avatar of CEHJ
CEHJ
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of JeffBeall

ASKER

"What is c:\javacode and why this folder is mentiooned"

I thought I would put all the so called programs in one place. so I made a folder called javacode on the root of c

I thought I just had to make a new environment variable.
So, I put
C:\Program Files\Java\jdk1.7.0_03\bin
in the path statement, and now javac works.

and I closed all my command prompts, deleted MyProgram.class, re-compiled MyProgram.java
then ran
c:\javacode\java MyProgram.call
but I still get

Error: Could not find or load main class MyProgram.class
you need to go to

c:\javacode>

and from that prompt say:

java MyProgram

(without any extension)
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
It was the .class extension!!
I ran

java MyProgram

and it worked fine!
Thank you for the help.