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

XMLWordPrintable

    • Type: Enhancement
    • Resolution: Duplicate
    • Priority: P3
    • None
    • Affects Version/s: 9
    • Component/s: 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)






            Assignee:
            Jonathan Gibbons
            Reporter:
            Ioi Lam
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: