Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8167467

javac gives misleading message when --add-exports specifies the wrong module name

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Duplicate
    • Icon: P3 P3
    • None
    • 9
    • tools

      Test source T.java:

      public class T {
        public static void main(String args[]) {}
      }


      This works:
      $ javac -J-showversion --add-exports jdk.unsupported/sun.misc=ALL-UNNAMED T.java
      java version "9-ea"
      Java(TM) SE Runtime Environment (build 9-ea+139)
      Java HotSpot(TM) 64-Bit Server VM (build 9-ea+139, mixed mode)

      But this gives a misleading error message:
      $ javac -J-showversion --add-exports foobar/sun.misc=ALL-UNNAMED T.java
      java version "9-ea"
      Java(TM) SE Runtime Environment (build 9-ea+139)
      Java HotSpot(TM) 64-Bit Server VM (build 9-ea+139, mixed mode)

      error: module reads package sun.misc from both jdk.unsupported and foobar
      1 error

      In comparison, the "java" tool gives an error message that's more meaningful:

      $ java -showversion --add-exports jdk.unsupported/sun.misc=ALL-UNNAMED T
      java version "9-ea"
      Java(TM) SE Runtime Environment (build 9-ea+139)
      Java HotSpot(TM) 64-Bit Server VM (build 9-ea+139, mixed mode)


      $ java -showversion --add-exports foobar/sun.misc=ALL-UNNAMED T
      Error occurred during initialization of VM
      java.lang.RuntimeException: Unknown module: foobar
      at jdk.internal.module.ModuleBootstrap.fail(java.base@9-ea/ModuleBootstrap.java:566)
      at jdk.internal.module.ModuleBootstrap.addExtraExports(java.base@9-ea/ModuleBootstrap.java:480)
      at jdk.internal.module.ModuleBootstrap.boot(java.base@9-ea/ModuleBootstrap.java:319)
      at java.lang.System.initPhase2(java.base@9-ea/System.java:1927)






        1. test.sh
          0.4 kB
          Jonathan Gibbons

            jjg Jonathan Gibbons
            iklam Ioi Lam
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: