On 15/02/2017 17:21, Vicente Romero wrote:

The simplest reproductor for this issue is:

------------------------------------------------------------------------------------------------
public class A extends B {
    public static void main(String... args) {}
}
------------------------------------------------------------------------------------------------
class B {}
------------------------------------------------------------------------------------------------

$javac -d out A.java B.java
$rm out/B.class

before this patch this command:
$java -cp out A

produces this output
Error: Could not find or load main class A

with the current patch, the output produced is:
Error: Could not find or load main class A
because class B is not defined.

if while loading the main class ClassNotFoundException is produced then the second part of the message will be: "because class Foo is not defined." if NoClassDefFoundError is produced then it will be: "because class Foo is not defined"
It's good that "B" is shown in the output but "because class B is not defined" looks very strange to me. Have you consider something more useful like:

Error: Could not find or load main class A
Caused by: java.lang.NoClassDefFoundError: B

-Alan


Reply via email to