О КОПИРАЙТАХ |
Вся предоставленная на этом сервере информация собрана нами из разных источников. Если Вам кажется, что публикация каких-то документов нарушает чьи-либо авторские права, сообщите нам об этом. |
|
|
|
|
Common Compiler and Interpreter Problems (and Their Solutions)
If you're having trouble compiling your Java source code
or running your application,
this section might be able to help you.
If nothing in this section helps,
please refer to the documentation
for the compiler or interpreter you're using.
Compiler Problems
Can't Locate the Compiler
On UNIX systems, you may see the following error message
if your path isn't set properly:
javac: Command not found
Use setenv or a similar command
to modify your PATH environment variable
so that it includes the directory
where the Java compiler lives.
Syntax Errors
If you mistype part of a program,
the compiler may issue a syntax error.
The message usually displays the type of the error,
the line number where the error was detected,
the code on that line,
and the position of the error within the code.
Here's an error caused by omitting a semicolon (; )
at the end of a statement:
testing.java:14: `;' expected.
System.out.println("Input has " + count + " chars.")
^
1 error
Sometimes the compiler can't guess your intent
and prints a confusing error message
or multiple error messages if the error cascades over several lines.
For example, the following code snippet omits a semicolon (; )
from the bold line:
while (System.in.read() != -1)
count++
System.out.println("Input has " + count + " chars.");
When processing this code, the compiler issues two error messages:
testing.java:13: Invalid type expression.
count++
^
testing.java:14: Invalid declaration.
System.out.println("Input has " + count + " chars.");
^
2 errors
The compiler issues two error messages
because after it processes count++ ,
the compiler's state indicates
that it's in the middle of an expression.
Without the semicolon,
the compiler has no way of knowing
that the statement is complete.
If you see any compiler errors,
then your program did not successfully compile,
and the compiler did not create a .class file.
Carefully verify the program,
fix any errors that you detect,
and try again.
Semantic Errors
In addition to verifying that your program is syntactically correct,
the compiler checks for other basic correctness.
For example, the compiler warns you each time you use a variable
that has not been initialized:
testing.java:13: Variable count may not have been initialized.
count++
^
testing.java:14: Variable count may not have been initialized.
System.out.println("Input has " + count + " chars.");
^
2 errors
Again, your program did not successfully compile,
and the compiler did not create a .class file.
Fix the error and try again.
Interpreter Problems
Can't Find Class
A common error of beginner Java programmers
using the UNIX or Windows 95/NT JDK
is to try to interpret the .class file
created by the compiler.
For example, if you try to interpret the file HelloWorldApp.class
rather than the class HelloWorldApp ,
the interpreter displays this error message:
Can't find class HelloWorldApp.class
The argument to the Java interpreter is
the name of the class
that you want to use,
not the filename.
The main Method Is Not Defined
The Java interpreter requires
that the class you execute with it
have a method named main ,
because the interpreter must have somewhere
to begin execution of your Java application.
The main Method
discusses the main method in detail.
If you try to run a class with the Java interpreter
that does not have a main method,
the interpreter prints this error message:
In class classname: void main(String argv[]) is not defined
In the above message,
classname is the name of the class
that you tried to run.
Changes to My Program Didn't Take Effect
Sometimes when you are in the edit/debug/run cycle,
it appears that your changes to an application didn't take effect --
a print statement isn't printing, for example.
This is common when running Java applications on MacOS
using Java Runner.
If you recompile a .class file,
you must quit Java Runner and bring it up again,
since Java Runner does not reload classes.
Applet Problems
See
Common Applet Problems
if you have trouble getting your applet to run.
|