Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot find output .class files using javac?

I type javac helloworld.java at cmd in win 7.

C:\Users\User\Downloads\java_tut>javac HelloWorld.java

C:\Users\User\Downloads\java_tut>dir *.class

 Directory of C:\Users\User\Downloads\java_tut

03/28/2014  05:42 PM               429 YourClassName.class

C:\Users\User\Downloads\java_tut>

I searched the following directories for helloworld.class: java, jre, jdk, java_tut, jre/bin, jdk/bin, and my entire harddrive.

I did need to manually add the /jdk/bin directory to my path. I wonder if that matters?

like image 782
Wolfpack'08 Avatar asked Nov 07 '25 14:11

Wolfpack'08


2 Answers

Another possible reason is an empty .java source file.

This causes javac to silently produce nothing.

I experienced that effect with a Hello Word program and a Macintosh editor - which would save with Cmd-S, but does not save with Ctrl-S. I learned this after 20 years of Java programming.

like image 73
shful Avatar answered Nov 09 '25 05:11

shful


If HelloWorld.java compiled without any errors, then the file HelloWorld.class should definitely be in the java_tut directory.

EDIT (based on your comments and edits):

Check if your Java source file HelloWorld.java looks as follows:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hellow, World!");
    } 
}

The class must have the same name as the Java source file or you get following compiler error message:

[515]% javac HelloWorld.java 
HelloWorld.java:1: error: class YourClassName is public, should be declared in a file named YourClassName.java
public class YourClassName {
   ^
1 error
like image 40
Peter Keller Avatar answered Nov 09 '25 04:11

Peter Keller



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!