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"

Thanks,
Vicente

On 02/15/2017 12:12 PM, Alan Bateman wrote:
On 15/02/2017 17:03, Vicente Romero wrote:

Hi,

Please review the fix for bug [1]. The fix is improving an already existing error message. The public patch can be reached at [2]

Thanks,
Vicente

[1] https://bugs.openjdk.java.net/browse/JDK-8174694
[2] http://cr.openjdk.java.net/~vromero/8174694/webrev.00/jdk.patch
Can you provide one or two examples to see the difference? I ask because it looks like "was not found" is changed to "is not defined" which looks a bit odd.

-Alan

Reply via email to