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

Javac throws exception when displaying info

XMLWordPrintable

    • b42
    • Verified

        Upon building langtools and running javac with no arguments like this:

        /opt/JDK/8/re/b20/bin/java -cp build/classes com.sun.tools.javac.Main

        I always get this:

        Usage: javac <options> <source files>
        where possible options include:
          -g Generate all debugging info
          -g:none Generate no debugging info
          -g:{lines,vars,source} Generate only some debugging info
          -nowarn Generate no warnings
          -verbose Output messages about what the compiler is doing
          -deprecation Output source locations where deprecated APIs are used
          -classpath <path> Specify where to find user class files and annotation processors
          -cp <path> Specify where to find user class files and annotation processors
          -sourcepath <path> Specify where to find input source files
          -bootclasspath <path> Override location of bootstrap class files
          -extdirs <dirs> Override location of installed extensions
          -endorseddirs <dirs> Override location of endorsed standards path
          -proc:{none,only} Control whether annotation processing and/or compilation is done.
          -processor <class1>[,<class2>,<class3>...] Names of the annotation processors to run; bypasses default discovery process
          -processorpath <path> Specify where to find annotation processors
          -parameters Generate metadata for reflection on method parameters
          -d <directory> Specify where to place generated class files
          -s <directory> Specify where to place generated source files
          -h <directory> Specify where to place generated native header files
          -implicit:{none,class} Specify whether or not to generate class files for implicitly referenced files
          -encoding <encoding> Specify character encoding used by source files
          -source <release> Provide source compatibility with specified release
          -target <release> Generate class files for specific VM version
          -profile <profile> Check that API used is available in the specified profile
          -version Version information
          -help Print a synopsis of standard options
          -Akey[=value] Options to pass to annotation processors
          -X Print a synopsis of nonstandard options
          -J<flag> Pass <flag> directly to the runtime system
          -Werror Terminate compilation if warnings occur
          @<filename> Read options and filenames from file

        Exception in thread "main" java.lang.IllegalArgumentException
        at com.sun.tools.javac.main.OptionHelper$GrumpyHelper.put(OptionHelper.java:96)
        at com.sun.tools.javac.main.Option.process(Option.java:670)
        at com.sun.tools.javac.main.Option.process(Option.java:680)
        at com.sun.tools.javac.main.Option$18.process(Option.java:308)
        at com.sun.tools.javac.main.Main.compile(Main.java:160)
        at com.sun.tools.javac.main.Main.compile(Main.java:140)
        at com.sun.tools.javac.Main.compile(Main.java:56)
        at com.sun.tools.javac.Main.main(Main.java:42)

        This started with the option processing refactoring.

        Also reproducible with the official JDK's 9 javac launcher.

              jjg Jonathan Gibbons
              mcimadamore Maurizio Cimadamore
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: