Solved

java programming

Posted on 2012-03-21
12
431 Views
Last Modified: 2012-03-21
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.
javabut 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?
0
Comment
Question by:JeffBeall
  • 8
  • 2
  • 2
12 Comments
 
LVL 47

Expert Comment

by:for_yan
ID: 37749289
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?
0
 
LVL 47

Expert Comment

by:for_yan
ID: 37749295
Normally you should make sure that C:\Program Files\Java\jdk1.7.0_03\bin is in your PATH

(not javapath but PATH)
0
 
LVL 47

Expert Comment

by:for_yan
ID: 37749300
Best of all make it so that your PATH
begins with

C:\Program Files\Java\jdk1.7.0_03\bin
0
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

 
LVL 47

Expert Comment

by:for_yan
ID: 37749307
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
0
 
LVL 47

Expert Comment

by:for_yan
ID: 37749313
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)
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 37749382
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
0
 
LVL 47

Expert Comment

by:for_yan
ID: 37749399
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)
0
 
LVL 86

Assisted Solution

by:CEHJ
CEHJ earned 250 total points
ID: 37749465
Some special cases require JAVA_HOME but it is rather rare.

It's required where best practice is expected ;)

When you change the jdk, all you need to do is change JAVA_HOME, which is easier and less error-prone than editing PATH (which you can't even see fully in Windows most of the time)
0
 
LVL 1

Author Comment

by:JeffBeall
ID: 37749481
"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
0
 
LVL 47

Expert Comment

by:for_yan
ID: 37749493
you need to go to

c:\javacode>

and from that prompt say:

java MyProgram

(without any extension)
0
 
LVL 47

Accepted Solution

by:
for_yan earned 250 total points
ID: 37749505
so after you have set up your path correctly put your .java file to any folder, say c:\javacode

gotto that folder and say

c:\javacode> javac MyProgram.java


c:\javacode> java MyProgram


you need .java extenxsion in compilation commad

you DO NOT NEED .class exetnsion in the java command
0
 
LVL 1

Author Closing Comment

by:JeffBeall
ID: 37749529
It was the .class extension!!
I ran

java MyProgram

and it worked fine!
Thank you for the help.
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

How to remove superseded packages in windows w60 or w61 installation media (.wim) or online system to prevent unnecessary space. w60 means Windows Vista or Windows Server 2008. w61 means Windows 7 or Windows Server 2008 R2. There are various …
This article is meant to give a basic understanding of how to use R Sweave as a way to merge LaTeX and R code seamlessly into one presentable document.
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.

792 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question